有人可以解释一下String类在java中的内存管理中的行为。 我最近听说过字符串比较。如何使用==运算符和等于方法的两个字符串不同。
例如:
String str1 = "Hello";
String str2 = "Hello";
String str3 = new String("Hello");
对案例1和案例3的任何建议?
答案 0 :(得分:3)
==
比较了2个字符串对象的引用,而不是内容。 equals
方法确实是检查内容的方法。
但是,由于到期的字符串实习,我相信在您列出的情况下,str1 == str2
withh为true,因为该字符串文字的单个实例存储在内存中。