20201224-杜飞强

总结

== 与 equals

通常String str = “ ab”;使用“ ”显式书写的代表字面量,存储在常量池中,而String str = new String(“ab”);,new创建的实例存储在堆中,它们的哈希值不同即System.identityHashCode( str) 不同

==

运算符,使用==比较两侧的变量所存储的值是否相等。eg:

``` java
    String str = “ab”;

    String strs = new String “ab”;

    System.out.println(str == strs); 
```

结果:false

分析:str 与strs的哈希值不同,结果为false。

equals

使用equals比较String实例中的字符序列是否相等。eg:

        String str = “ab”;

        String strs = new String “ab”;

        System.out.println(str.equals(strs)); 

结果:true

分析:equals比较的是字符序列,它们的数值是相等的。

连接符+

连接符+表示可以将两个字符序列连接在一起组成一个新的字符序列,eg:

String s = "hello";
String t = "word";
String r = s + t;
System.out.println(r);

结果:helloword

特殊情况

当实例被final修饰时

final String s = "hello";
String t = "word";
String x = s+"word";
String h = "helloword";
String r = s + t;
System.out.println(x == h);
System.out.println(r == h);
System.out.println(r.equals(h));

结果:true

​ false

​ true

分析:(1)当实例被final修饰时,初始化之后的值不能再发生改变。

​ (2)r表示通过连接符+将两个字符序列连接在一起,相当于创建了一个实例。

​ (3)equals比较两个字符序列的值是否相等

拼接字符串(StringJoiner)

当需要处理多个字符序列时可以使用StringJoiner进行拼接eg:

StringJoiner(delimiter,prefix, suffix)

prefix :表示前缀

suffix:表示后缀

delimiter:定界符

CharSequence delimiter = ",";//拼接的字符序列用,隔开
StringJoiner sj = new StringJoiner(delimiter);
sj.add("hello");
sj.add("word");
sj.add("welcome");
String s = sj.toString();
System.out.println(s);

getChars(begin , end , target , start)

begin:表示从字符串那个索引开始

end:表示从字符串那个索引字符结束

target:表示将字符串[begin end)之间的字符复制到那个数组中

start:表示从目标数组的那个位置开始存放字符

吐槽

老师讲课的语速有点快,尽快适应上课方式

标签

评论


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1