JAVA中字符串equalse的这个用法??

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:35:50
字符串.equalse进行比较时,这两种情况有什么区别吗?哪位高手能具体而又容易理解的说说,本人初学,别说太深的,意思一样,理解就好!

1. a1.equalse(a2) //字符串1.equals(字符串2)

2. a1==a2 //字符串1==字符串2

这两者是如何比较的,例如,用第二个,如果我输入两门课程相同(java和java),但会输出不相等。
那使用:

String tt=new String("tt");
或者
String tt="tt";

这两种创建字符串的方法,有什么不同吗??都是一样的使用吗?

equalse()只是比较两个字符串的内容是否相同,
而“==”会比较他们是否引用自同一个对象。

下面是我以前整理的资料(是不是有点多了?):
equals() VS ==
equals()对于String,内容一样,即为true,"=="要求具有相同的内存引用。
String s1=new String("we");
String s2=new String("we");
String s3="we";
String s4=s2;
String s5=s3;

System.out.println("s1==s2="+(s1==s2)); //s1==s2=false
System.out.println("s1.equals(s2)="+s1.equals(s2)); //s1.equals(s2)=true

System.out.println("s1==s3="+(s1==s3)); //s1==s3=false
System.out.println("s1.equals(s3)="+s1.equals(s3)); //s1.equals(s3)=true

System.out.println("s1==s4="+(s1==s4)); //s1==s4=false
System.out.println("s1.equals(s4)="+s1.equals(s4)); //s1.equals(s4)=true

System.out.println("s2==s4="+(s2==s4)); //s2==s4=true
System.out.println("s2.equals(s4)="+s2.equals(s4)); //s2.equals(s4)=t