为什么" =="使用" new String(..)"?时的工作方式不同

时间:2014-09-19 05:56:23

标签: java string

有人可以解释一下String类在java中的内存管理中的行为。 我最近听说过字符串比较。如何使用==运算符和等于方法的两个字符串不同。

例如: String str1 = "Hello"; String str2 = "Hello"; String str3 = new String("Hello");

对案例1和案例3的任何建议?

1 个答案:

答案 0 :(得分:3)

Java中的

==比较了2个字符串对象的引用,而不是内容。 equals方法确实是检查内容的方法。

但是,由于到期的字符串实习,我相信在您列出的情况下,str1 == str2 withh为true,因为该字符串文字的单个实例存储在内存中。