なぜこれは間違っているのですか?
String str1 = new String("Java ");
String str2 = str1;
System.out.println(str1.trim()==str2.trim()); //false
最初はオブジェクトstr2
を参照していました。str1
したがって、== と比較すると true が返されます。str1==str2
では、なぜメソッドでこれがfalseになるのでしょうか?.trim()
リテラルの場合でも false を返します( new キーワードなし)
String str1 = "Java "; //this is now without new keyword
String str2 = str1;
System.out.println(str1.trim()==str2.trim());
注:メソッドの使用方法は知っています.equals
。==
しかし、特に上記の 2 つの例で .trim() の場合の動作を知りたいです。