@Test
public void test1(){
String a = "hello,world!";
String b = a.substring(0,5);
System.out.println(b.indexOf("o"));
}
定义了一个字符串a,然后字符串b取a的子串。在调试的过程中,我们可以看到字符串对象有个final修饰的 value属性,这个byte数组,每个数字保存的对应字符的ASCII编码值。对应final coder = 0;
String a = "hello,world!你好,世界!";
String b = a.substring(0,15);
System.out.println(b.indexOf("o"));
如果有中文的字符串,coder属性变成了1,coder 属性默认有 0 和 1 两个值,0 代表 Latin-1(单字节编码),1 代表 UTF-16。