ArrayList类的set()方法用于更新指定位置的内容,若内容是new出来的,则需要调用该set()方法;否则,不需要调用该set()方法,示例如下

User.java

public class User {

    private int id;
private String name; public User(int id, String name) {
this.id = id;
this.name = name;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
  //省略get、set方法
}

main.java

import java.util.ArrayList;
import java.util.List; public class main { public static void main(String[] args) {
User user1 = new User(1, "a1");
User user2 = new User(2, "a2");
List list = new ArrayList();
list.add(user1);
list.add(user2);
for (int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
System.out.println("*******************"); user1.setId();
user1.setName(
"a11"); //此处只是修改了user1对象的属性,不需要调用ArrayList的set()方法就可以生效
for (int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
System.out.println("*******************"); user1 = new User(111, "a111");
list.set(
0, user1); //user1对象为新new的对象,所以此处必须调用ArrayList的set()方法才会生效
for (int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
}
}

运行结果

最新文章

  1. MySql 打开日志文件
  2. MaxScript重启3dsMax的重新思考
  3. Python入门版
  4. 《第一行代码--Android》阅读笔记之广播
  5. hdu 1250 Hat&#39;s Fibonacci
  6. Toad for Oracle 使用文档
  7. SZU:B54 Dual Palindromes
  8. Android Studio 修改主题
  9. 福利 c++ 标准头文件大全
  10. iOS开发--XMPPFramework--好友列表(五)
  11. logrotate日志处理
  12. 第三十八篇-logcat的使用
  13. Flask视图函数报fmalformed url rule错误的原因
  14. hdu 3832 Earth Hour bfs
  15. git中 .ignore文件的配置 忽略不想上传的文件
  16. SVN查看最新几次提交日志的命令
  17. Vue router 全局路由守卫
  18. mysql cmd 启动服务
  19. SQL Server T—SQL 视图 事务
  20. Linux主流架构运维工作简单剖析

热门文章

  1. 剧终—AFO.
  2. 在chrome开发者模式中查找你的js文件
  3. 在Idea中 的terminal 使用 git
  4. FatMouse&#39;s Speed
  5. reduce()之js与python
  6. 【Redis 向Redis中批量导入mysql中的数据(亲自测试)】
  7. csp-s模拟80(b)
  8. Mybatis-Plus BaseMapper自动生成SQL及MapperProxy
  9. 使用Xshell链接阿里云服务
  10. Leetcode题目78.子集(回溯-中等)