java对list中的对象的属性赋值和提取
一个类里面有这个属性:privateArrayList<User>userlist;还有这个方法:publicvoidcountSim(){for(inti=0;i<us...
一个类里面有这个属性:
private ArrayList<User> userlist;
还有这个方法:
public void countSim(){
for(int i = 0; i < userlist.size(); i++){
......//获取float类型的sim,此时userlist已经有一组User对象了,除了sim属性,其余属性都有值
userlist.get(i).setSim(sim);//将sim赋值给userlist中的第i个User对象的sim属性,其中sim值均为大于0的小数
System.out.println(userlist.get(i).getSim());//此时输出均为大于0的小数,应该是对的
}
for(int i = 0; i < userlist.size(); i++){
System.out.println(userlist.get(i).getSim());//此时获取的值大部分为0,个别为小数,这是为什么?
}
} 展开
private ArrayList<User> userlist;
还有这个方法:
public void countSim(){
for(int i = 0; i < userlist.size(); i++){
......//获取float类型的sim,此时userlist已经有一组User对象了,除了sim属性,其余属性都有值
userlist.get(i).setSim(sim);//将sim赋值给userlist中的第i个User对象的sim属性,其中sim值均为大于0的小数
System.out.println(userlist.get(i).getSim());//此时输出均为大于0的小数,应该是对的
}
for(int i = 0; i < userlist.size(); i++){
System.out.println(userlist.get(i).getSim());//此时获取的值大部分为0,个别为小数,这是为什么?
}
} 展开
1个回答
2016-09-03
展开全部
public void countSim(){
for(int i = 0; i < userlist.size(); i++){
User user = userList.get(i);
///////////////和普通的操作一样使用user了 。。。。。。。。。。。。。。
for(int i = 0; i < userlist.size(); i++){
User user = userList.get(i);
///////////////和普通的操作一样使用user了 。。。。。。。。。。。。。。
追问
这段代码应该是可以的,之所以下面输出会有零,是我在上一个循环中遇到某些情况continue了,那段代码之前没注意到,所以没贴出来,问完问题就发现了,好尴尬呀~,,ԾㅂԾ,,真不好意思!……我想问一下,如果User user = userList.get(i);这么写,改变user时会改变userList.get(i)对应的user吗?
追答
没错,会的。。。。。。。。。。。。。。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询