- final类,不能被继承
- 实现了Comparable接口,注意compareTo的实现
- public String(String original) 构造函数中if发生的情况,substring等改变了offset。
class OriginalTest{
public static void main(String[] args){
String str1 = new String("abcd");
String str2 = str1.substring(1);//查看源代码我们可以发现,在substring时new出的字符串(str2)value是abcd字符数组,而不是bcd。两者不是都一致的
System.out.println(new String(str2));//所以在new String(String original)时需判断取值
}
}
- 一个getBytes的示例
public class GetBytesTest {
public static void main(String[] args) throws Exception{
String str = "中华人民共和国万岁";
//getBytes
System.out.println("str:"+str);
System.out.println("getBytes,ISO-8859-1:"+str.getBytes("ISO-8859-1").length);//1个字符占1个字节
System.out.println("getBytes,GBK:"+str.getBytes("GBK").length);//1个中文字符占2个字节
System.out.println("getBytes,UTF-8:"+str.getBytes("UTF-8").length);//1个中文字符占3个字节
//英文
str = "123456789";
System.out.println("str:"+str);
System.out.println("getBytes,ISO-8859-1:"+str.getBytes("ISO-8859-1").length);//1个字符占1个字节
System.out.println("getBytes,GBK:"+str.getBytes("GBK").length);//1个字符占2个字节
System.out.println("getBytes,UTF-8:"+str.getBytes("UTF-8").length);//1个字符占3个字节
}
}