Java String类源码
现在开始决定开始每天写篇博客。慢慢解读java中每个类的源码,从最基本的数据类型开始写起,这个只是本人记录每天的源码学习和成长,非常欢迎大家吐槽。
String类是一个final修饰的类,表明它是一个最终类,无法继承。 Java中基本数据类型有:byte,char,short,int,long,float,double,boolean
private final char[] value[];
String这种不变性在咱们使用的时候就会出现一些不当,比如说: String example = "hello"; example = "world";
String example = "hello" + " world";
这样的话,在内存中就会存在三个地址,用来存放字符串的值。
“hello” ” world” “hello world” 所以使用字符串连接的时候就要小心了。不过嘛,既然我们都知道会有问题,那么设计这个api的人员当然想到了,那么解决这个字符串的大量连接问题有两个类:
StringBuffer和StringBuilder,区别在于一个是线程安全的一个不是。
String还涉及到字符编码问题,这个明天继续。 明天记录一点点,不用太多,重在坚持。