1,因为String 类被final修饰。导致其他类不能继承。
2,String 类内没有修改数组的方法。
3,final 修饰char数组。
三者缺一不可。比如
public final class Main{
public final char[] data;
public Main(char[] data){
this.data = data;
}
public void change(){
data[1] = 'd';
}
public void print(){
System.out.println(Arrays.toString(data));
}
public static void main(String[] args){
Main test = new Main(new char[]{'a','b','c'});
test.print();
test.change();
test.print();
}
}
打印结果为 [a,b,c]
[a,d,c]
三者缺一,所以结果被修改了。