class helloworld
{
public static void main(String args[]) {
String str1="hello";
String str2="world";
String str=str1+str2;
str.intern();
System.out.println(str=="helloworld");
}
}
o / p:假
执行程序后,它会产生false作为输出。如果使用equals()而不是“==”,它会返回 true。为什么会这样?
2.在这种情况下,更改类名后,它会产生true作为输出。
class main
{
public static void main(String args[]) {
String str1="hello";
String str2="world";
String str=str1+str2;
str.intern();
System.out.println(str=="helloworld");
}
}
o / p:真
为什么使用带有类名的“==”进行黑白字符串比较会发生矛盾(如果比较字符串名称用作类名)?