前言
博客仅记录个人学习进度和一些查缺补漏。
学习内容:BV17F411T7Ao
一、API
API就是一个接口,可以实现一些功能,直接拿来使用。
有事就看文档。
二、字符串
注意,字符串本身就是一个类,并且生成以后不能更改。
字符串转char数组:
char[] charArray = str.toCharArray();
直接赋值的字符串
节约内存。
new一次出现新的地址空间
三、string常见方法–比较
经典问题,在比较两个字符串的时候==比的是地址,因为s1,s2其实是指针。
四、stringbuilder
快速的字符串连接。
string builder可以看作一个可变的string类。
通过继承,可以直接打印属性值。
非常离谱的功能,有了这个很多算法题可以简单很多。
转回字符串
s1是指向了堆中固定的那个abc,如果直接令s3 = “abc”则返回true。但是此时s3与s2拼接,虽然结果也是abc,但是这个abc只是恰好结果相等,因为底层是先new再赋值。直接等于abc本质上是赋值地址,而这一步会在new的时候完成。所以如果新new出来的对象,地址一定是不同于s1所指向的abc的。
在编译的时候,已经把a,b,c转换成abc了。不会使用builder方法,自然不会new字符串。
五、string joiner
简化string拼接
指定间隔,开头,结尾。
简单来说,创建好以后本身就会提供开头和结尾符号,每次添加只会增加间隔。
例子:
总结
字符串是基础类型中最常用的类了,方法非常多但是运行速度缓慢,因此活用builder和joiner非常关键。