处理字符串并放在list中,遍历list放在对象的时候怎么能把new的对象放在循环外面实现?
以下是编辑的一小段测试,每次new的对象放在外面,就会导致对象只存储了最后一个,有牛人帮忙找个替代的技术吗?
List<User> getList = new ArrayList<>();
for (int i = 0; i < readList.size(); i++) {
User user = new User();
String str = readList.get(i);
String name = str.substring(0, 4);
String password = str.substring(4, 10);
user.setName(name);
user.setPassword(password);
getList.add(user);
}
return getList;
}
不能在外面new,这样在List里面都是同一个对象,无论多少次赋值都是以最后一次赋值为准,这段代码要写得优雅点无非就是用stream去写了,实际上效果一样
user 对象的定义,可以放到外面,但是 new User() 这个必须放到循环里,只有这样每次遍历取得数据才是新的User数据
这个new 必须写在循环里面。这段程序主要是在getList中生成readList.size个对象,如果new 放在循环外面,那么new就只执行了一次,自然只会有一个对象,只有放在循环里面,才能依次执行readList.size次new操作,生成这么多个对象。