章13——常用类——String类

String类的继承关系

final 约束的是不可以指向新的地址空间,但是单个值变化还是可以的




课堂练习
public String intern() 方法返回的是常量池的地址(对象)

仔细理解String类的内存分配:

总结

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

两种方式分配内存的方式不同,常量池和(堆与否)。
另,注意String引用类下,== 和 equals 的区别

字符串对象特性


如上图,一共创建了三个对象。
要注意区分
c = a + b; c = "a" + "b";
的区别

重要规则
常量相加,看的是池,变量相加,看的是堆。

请尽量看源码学习
P471,没看懂,遂放弃。

String类常用方法


下面表示从索引 0 开始截取,截取到索引 5-1 的位置(区间前闭后开)
indexof也可以后跟字符串,返回第一次出现字符串的第一个字符的索引。


replace函数返回的结果才是替换的内容,而其调用方是不会被改变的,对比大小写转换函数的功能。

split后,分割的逗号就没有了。
注意\案例下转义字符的用法:特殊字符需要加入转义符,实际是转义符+特殊字符''+转义符+特殊字符''


该函数具体可以看源码,很好懂。

\

format: 占位符:由后面变量来替换

 public static void main(String[] args) {
        String name = "wxr";
        double score = 98.8/3;
        int age = 10;
        char gender = '女';
        String formatStr = "我的名字%s,是年龄%d,是成绩%.2f,是性别%c,是希望大家喜欢我";
        //该编码方式下不分中英文char一律占位2字符。
        String info = String.format
                (formatStr,name,age,score,gender);
    }
posted @ 2024-09-17 16:46  gknives  阅读(20)  评论(0)    收藏  举报