将用户详细信息添加到arr数组后,所有元素都变为相同的值。请解释如何去做。添加到数组对象中更改相同的值java
@Autowired UserDto userDto;
public ArrayList getAllUsers() throws commonException {
ArrayList<UserDto> arr = new ArrayList<>();
Iterable<User> user = userRepository.findAll();
for(User userDetails: user){
userDto.setUsername(userDetails.getUsername());
userDto.setEmail(userDetails.getEmail());
userDto.setPassword(userDetails.getPassword());
arr.add(userDto);
}
return arr;
当您添加一个对象数组或一个集合,只有*参考*的对象添加,而不是该对象的副本。所以引用总是引用该对象的* current *内容。 – RealSkeptic