首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >设置值时的Java问题

设置值时的Java问题
EN

Stack Overflow用户
提问于 2013-11-21 16:05:22
回答 2查看 122关注 0票数 0

我有以下Java代码;

代码语言:javascript
代码运行次数:0
运行
复制
List<Person> personList = new ArrayList<Person>();
response = executeQuery(query);

for(Object[] person : response.getRecords()) {
    Person per = new Person();
    per.setPersonName((String)person[0]);   
    //Setting other values      
    personList.add(per);
}

如您所见,我从查询执行中得到了一个响应,并获得了一个对象数组,我正试图在我的自定义类Person中设置该数组。

我在Person中有以下设置器;

代码语言:javascript
代码运行次数:0
运行
复制
public void setPersonName(String personName) {
        this.personName = personName;
}

现在有一些奇怪的事情发生了。我正确地得到了响应,并且在调试时,如果我检查/观察person[0],它会给我适当的值test1

但是当我执行per.setPersonName((String)person[0]);时,它的设置并不相同

它正在将personName设置为null

我已经验证了personName的类型是String

我做错了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-21 16:09:42

我从查询执行中得到一个响应,并获得一个对象数组,我试图在我的自定义类Person中设置该数组。

如果循环返回Object[],则循环应如下所示

代码语言:javascript
代码运行次数:0
运行
复制
for(Object obj : response.getRecords()) {
        Person per = new Person();
        per.setPersonName(/*parse obj to get pserson name*/);   

        personList.add(per);
 }
票数 0
EN

Stack Overflow用户

发布于 2013-11-21 17:05:10

由于您还没有发布response.getRecords()方法的代码,我不能确定,但这可能是问题所在:

如果使用JDBC检索记录,则需要在访问这些行之前调用ResultSet.next(),因为ResultSet游标最初位于第一行之前;对方法next的第一次调用使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20115473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档