String

作者: 可乐两块冰 | 来源:发表于2020-07-28 21:12 被阅读0次

1.通过new创建字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同

char[] chs = {'a;.'b'};

String s1 = new String(chs);

String s2 = new String(chs);

以上代码,JVM首先会创建一个字符数组,然后每一次new的时候都会有一个新的地址,只不过s1和s2的字符串内容是相同的

2.以 "" 方式给出的字符串,只要字符串序列相同(顺序和大小写),无论在代码中出现几次,JVM都只会创建一个String对象,并在字符串池中维护

String s3= “abc” ;  String  s4 = “abc”;

以上代码中,针对第一行代码,JVM会建立一个String对象放在字符串池中,并给s3参考;第二行则让s4直接参考字符串池中的String对象,他们本质上是同一个对象。

字符串的比较

使用 == 作比较

(1)基本类型:比较的是数据值是否相同

(2)引用类型:比较的是地址值是否相同(字符串是一个类,所以用==比较的时候也是比较的地址值)

equals() 可以用来比较字符串对象的内容是否相同

String和StringBuilder的区别:

String:内容是不可变的      StringBuilder:内容是可变的

toString()可以实现吧StringBuilder转换为String

public StringBuilder(String s):通过构造方法可以实现把String转换为StringBuilder

相关文章

网友评论

      本文标题:String

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