一个类里面有这个属性:
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,个别为小数,这是为什么?
}
}
这段代码应该是可以的,之所以下面输出会有零,是我在上一个循环中遇到某些情况continue了,那段代码之前没注意到,所以没贴出来,问完问题就发现了,好尴尬呀~,,ԾㅂԾ,,真不好意思!……我想问一下,如果User user = userList.get(i);这么写,改变user时会改变userList.get(i)对应的user吗?
追答没错,会的。。。。。。。。。。。。。。。。。