为什么==返回true?

Par*_*rth 0 java conditional-statements

为什么这个条件返回true,因为我们知道==如果两个变量都具有相同的引用,则返回true,但这里的引用不相同但仍然在循环中输入并打印Hello World.

String var1="hi";
String var2="hi";

if(var1==var2){
    System.out.println("Hello World");
}
Run Code Online (Sandbox Code Playgroud)

JB *_*zet 12

由于Java具有独特的池实习情况,以及字符串字面存储在此池中.这意味着第一个"hi"字符串文字与第二个"hi"文字完全相同.