美文网首页
String 个人理解

String 个人理解

作者: 从入门到暴毙 | 来源:发表于2019-03-28 21:48 被阅读0次

1.继承关系

因为string是继承final的,所以他是一个不可变的字符串,并且还不能被继承

重点:String 类中的每一个看起来会修改 String 值的方法,实际上都是创建了一个全新的 String 对象,用来包含修改后的字符串内容,这也可以说明 String 对象具有只读的属性。

2.构造方法

空参数初始化

以上代码创建了两个string对象

1.创建了一个值为空string对象

2.然后创建一个"hello"存在常量池中,因为string继承final,所以是存在常量池中,然后将这个值赋值给第二个string对象

3.在将第二个string对象的引用传递给第一个string对象

带参初始化

以上代码创建一个对象

1.创建一个hello在常量池中,然后赋值给string

equals方法

1.首先会判断他们的引用地址是不是相等的,如果是相等的,说明是他们相同

2.其次是判断他们的长度是不是相同的。如果长度不相同的话说明他们不相同,直接返回false

  如果相同的情况下,再去判断他们的值是不是相同的,相同返回true,反之为false

hashCode方法

1.如果string的长度为0的话,直接返回0,反之就通过算法算出他的hashCode值

intern方法

如果常量池中有当前String的值,就返回这个值,如果没有就加进去,返回这个值的引用,

String对“+”的重载

+号会创建一个StringBuilder对象,然后调用的他的append方法将wustor拼接起来,然后在调用append的方法将android拼接起来,最后在电泳他的toString方法。

总结: 

String被final修饰,一旦被创建,无法更改 

String类的所有方法都没有改变字符串本身的值,都是返回了一个新的对象。

如果你需要一个可修改的字符串,应该使用StringBuilder或者 StringBuffer。

如果你只需要创建一个字符串,你可以使用双引号的方式,

如果你需要在堆中创建一个新的对象,你可以选择构造函数的方式。 在使用StringBuilder时尽量指定大小这样会减少扩容的次数,有助于提升效率

本文是参考大神 wustor的文章:https://juejin.im/post/59fffddc5188253d6816f9c1

大神写的更加详细,

相关文章

  • String 个人理解

    1.继承关系 因为string是继承final的,所以他是一个不可变的字符串,并且还不能被继承 重点:String...

  • String理解

    public static void main(String[] args) { String a = "ab"...

  • String理解

    基本概念 直接使用字符串会直接进入常量池 2.String#intern() 方法的作用就是 如果字符串未在 Po...

  • python字符串格式化笔记

    0x01 Format string 替换规则 replacement_field Example 个人理解:可以...

  • ABP框架学习之—— 设置管理

    前言 个人理解 abp这个设置管理时基于服务器缓存实现,使用得时string类型得键值对(建值都是string类型...

  • Java String 理解

    我们经常会面对一个问题,String 是最基本的数据类型吗?String 是值类型还是引用类型? 首先我们来回答第...

  • String的理解

    在做java开发中,我们一定没少使用String这个东西,对它可谓是非常熟悉了,但是我今天要来仔细的学习学习Str...

  • 理解3:String StringBuffer 和 String

    String 类中使用 final 关键字修饰字符数组来保存字符串,private final char valu...

  • 深入理解String, StringBuffer, String

    String, StringBuffer, StringBuilder区别 String 是 Java 语言非常基...

  • String、StringBuffer、StringBuilde

    理解Java的字符串,String、StringBuffer、StringBuilder有什么区别? String...

网友评论

      本文标题:String 个人理解

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