美文网首页
关于java String的“==”和equals()比较、引用

关于java String的“==”和equals()比较、引用

作者: xin激流勇进 | 来源:发表于2019-04-01 20:50 被阅读0次
String s1 = "String";
String s2 = "String";
System.out.println(s1 == s2 ); //true
System.out.println(s1.equals(s2));//true

String s1 = "String";

这种方式,java首先会在缓冲区查找是否有"String"这个常量对象,有就直接将其地址赋给s1,没有就创建一个"String",然后将其赋给s1;然后

String s2 = "String";

java同样会在缓冲区中查找"String",这次能查找到了,因为s1创建了一个"String",所以会将其地址赋给s2,如此,s1和s2便有了相同的地址。

String s3 = new String("String");
String s4 = new String("String");
System.out.println(s3 == s4); //false
System.out.println(s3.equals(s4));//true

String s3 = new String("String");会直接在内存中开辟一个空间存储一个"String",并讲引用赋给s3;
同样 String s4 = new String("String");也会开辟一个空间,降低至给s4;

所以s3和s4的地址不一样。

相关文章

  • 关于java String的“==”和equals()比较、引用

    String s1 = "String"; 这种方式,java首先会在缓冲区查找是否有"String"这个常量对象...

  • String中的==与equals()

    ==和!=比较的是对象的引用,equals()的默认行为也是比较引用,而String类重写了该方法用于比较内容。 ...

  • Java知识点总结

    Java知识点1、==和equals的区别基本类型比较==比较内容 equals比较地址值引用类型比较==比较地址...

  • Java

    Java部分 对String的理解 == equals和HashCode ==比较的是内存的存放地址 其实就是比较...

  • java基础随笔

    1.equals 方法本质就是 ==。引用对象不重写equals方法就是比较地址值 2.String 不是基础类型...

  • Java开发中常见的危险信号

    对引用使用==(而不是.equals) 很多Java开发者都知道使用==比较原生类型数据,使用.equals比较引...

  • java中==和equals和hashCode的区别

    java中==和equals和hashCode的区别 == 的作用:基本类型:比较的就是值是否相同引用类型:比较的...

  • Java基础知识点面试专题

    1、java中==和equals和hashCode的区别 1)==若是基本数据类型比较,是比较值,若是引用类型,则...

  • Java基础知识点面试专题一

    1.java中==和equals和hashCode的区别 1)==若是基本数据类型比较,是比较值,若是引用类型,则...

  • 概念

    1、equals和== 总结 :== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals ...

网友评论

      本文标题:关于java String的“==”和equals()比较、引用

      本文链接:https://www.haomeiwen.com/subject/dapbbqtx.html