请查看String.equals()方法的实现代码,注意学习其实现方法。

时间:2021-07-06 16:21:40

实验代码

package ketang;



public class StringEquals {


/**
* @param args the command line arguments
*/

public static void main(String[] args) {

String s1=new String("Hello");

String s2=new String("Hello");


System.out.println(s1==s2);

System.out.println(s1.equals(s2));


String s3="Hello";

String s4="Hello";


System.out.println(s3==s4);

System.out.println(s3.equals(s4));


}

  实验截图

请查看String.equals()方法的实现代码,注意学习其实现方法。

总结

可以看到在第一个比较s1,s2时是false,第二个用equal()进行比较后是true,而s3,s4比较时,不管是直接比较还是用equal比较都是true。我们可以发现s1,s2是用new String来创建的,而s3,s4是是直接String=“字符串”来创建的。string其实是个类,用new时开辟了新空间,s1,s2对象比较时,两个内存位置不同,所以是false,而s3,s4比较时,s3,s4是用的同一个地方的“hello”故比较时是true。用equal时,只是比较其中的内容,故都是true。