Java==问题, String s ="hello"; String b ="hello"; a

2025-05-14 15:32:45
推荐回答(4个)
回答1:

这个问题,首先你要弄明白 string是不可变的,因为string是final修饰,是创建后放在 字符串常量池里面的,而我们的赋值,都是赋的 常量池里面 字符串所在的地址,a="hello",b="hello",在常量池中只有一个字符串 hello 存在,而 a和b 都指向hello 所在的地址,那么a和b,不管是 a.equals(b)还是a==b 结果都只会是true;

回答2:

equals是值比较-。-
另外用==可能也成立 因为虚拟机常量优化

回答3:

你用的明明是equals方法。怎么提问里说是==问题呢?

回答4:

一个