字符和字符串的区别
字符常量是单引号引起的一个字符 字符串常量是双引号引起的若干个字符。
字符常量只占一个字节 字符串常量占若干个字节。
字符串常量池
字符串常量池位于堆内存,避免开辟多块空间存储相同的字符串,提高内存的使用率。
在创建字符串时 JVM 会首先检查字符串常量池,如果该字符串已经存在池中,则返回它的引用,如果不存在,则实例化一个字符串放到池中,并返回其引用。
String为什么不可变?
private final char value[];
str的内容不可变,但指向的内存地址(引用)可变。
String str = “Hello”;
str = str + " World";
System.out.println(“str=” + str);
是否可以继承String类?
String类是final类,不可被继承。
String和StringBuffer、StringBuilder的区别