String详解

默认是UTF-16编码
所有的字符串变量或者常量都是String的实例
字符串是不可变constant的,但是字符串缓冲区string buffer支持可变的字符串
正因为String对象是不可变的,所有能被共享
除非另有说明,否则将null参数传递给构造函数或者此类中的方法将导致NullPointerException抛出。
String表示UTF-16格式的字符串
字符串连接运算符+的实现是由编译器决定,例如,javac编译器可以使用 StringBuffer,StringBuilder或java.lang.invoke.StringConcatFactory来实现运算符,具体取决于JDK版本。
字符串转换的实现通常是通过 toString方法实现的,由Object定义并由Java中的所有类继承。


private final byte[] value 字符串字符的存储
private final byte coder 字符数组value里面的字节的编码标志符,有两种LATIN1和UTF16
private int hash Default to 0 缓存字符串的哈希码
static final boolean COMPACT_STRINGS;
static {
COMPACT_STRINGS = true;
}
如果禁用字符串压缩,则{@code value}中的字节始终以UTF16编码。
char value[]转换成String public String(char value[])
char charAt(int index) 返回指定的字符串索引位置的char值,索引范围为0-字符串长度-1
字符串的长度,默认用UTF-16编码,长度也就是字面值上的长度
int codePointAt(int index)返回指定索引位置处的代码点,索引范围为0-字符串长度-1
String trim() 删除字符串的前置和后置空格
static String valueOf(boolean b) 返回基本类型的字符串形式
String toUpperCase() 把字符串变成大写
String toLowerCase() 把字符串变成小写
char[] toCharArray()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值