String类

首先,思考一下以下代码有什么区别:

String s1 = "abc";
String s2 = new String("abc");

看一下这两段代码的运行结果,会不会有所感悟呢?


      看了这两段代码。你会觉得,同样是判断两者的地址,为什么两者的结果不同?首先,我们可以看到,String s4 = new String("def");这条语句其实创建了两个对象,一个new,一个字符串对象,它们存在堆内存中。String s3 = "def";该类类型变量存放在字符串常量池中,它是可以被共享的,因此第一段代码显示的结果是相同的。
注意System.out.println(s3.equals(s4));//true
        因为String类将equals()方法复写啦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • String类 1、String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,...
    简诗阅读 408评论 0 1
  • 在编写程序的过程中,不了避免的要用到字符串,所以String类的常用方法的用法是必须掌握的。学习一个类的使用方法最...
    Geg_Wuz阅读 1,307评论 0 4
  • 一、String 类 1、定义: 1、从概念上讲,java字符串就是Unicode字符序列。每个用双引号括起来的字...
    玉圣阅读 1,604评论 0 1
  • 本文涵盖了String类的多个重要方法并详细讲解了它们的作用: 获取字符串的长度:length()方法 获取到字符...
    醉破方知酒有权阅读 1,673评论 0 5
  • 年轻人以为自己已然冷血了下来,率先冲出去。 十七紧跟其后。 马长嘶,山贼们的痛呼声在山间此起彼伏的响起,跑在最末尾...
    悟空和孔乙己阅读 303评论 0 0