a == b 是 false,其余的是 true。」✅(当时答对,今天才知道为什么)User user = users.get(username) 是相当于把地址给到了 user……对吗?」✅new 出来的对象放这里,各有编号x = 5)a = #1)String a = new String("hi"); // 仓库#1
String b = new String("hi"); // 仓库#2
a == b // false:比便签,#1 ≠ #2
a.equals(b) // true :进仓库比内容
== 比便签;equals 进仓库比内容。 比字符串内容永远用 equals。
User u1 = new User("张三");
User u2 = u1; // 没有 new → 只抄编号,同一个对象
u2.name = "李四";
u1.name // 李四(真跑过 T6.java,u1 == u2 是 true)
数 new:有几个 new 仓库里就有几个对象;= 只是抄编号。
对象可能很大,方法之间传来传去只抄编号,比复印整个对象快。
| 题 | 我答 | 结果 |
|---|---|---|
u2 = u1; u2.name="李四"; u1.name? |
u1 还是张三 | ❌ 李四:没有 new,u1 u2 是同一个房间的两把钥匙 |
两次 new,改 u2,u1.name? 几个对象? |
张三,两个对象 | ✅ |