私はこのプログラムを実行しています。文字列プールの概念を確認します。このリンクを参照 し、Java の Object クラスから equals メソッドを使用してさらに 2 行を追加しました。objRef1==objRef2 と objRef1.equals(objeRef2) で異なる出力が得られるのはなぜですか。私の意見では、それらは同じであるべきです。
public class Abc2 {
public static void main(String[] args) {
String s1 = "Cat";
String s2 = "Cat";
String s3 = new String("Cat");
System.out.println("s1 == s2 :"+(s1==s2));
System.out.println("s1.equals(s2) :"+(s1.equals(s2)));
System.out.println("s1 == s3 :"+(s3==s2));
System.out.println("s1.equals(s3) :"+(s3.equals(s2)));
}
}