String s="abc"; //固定不变
//在这个位置添加N行代码,但是必须保证s引用的指向不变,最终将输出变成abcd
System.out.println(s); //固定不变
答案:
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args)throws Exception {
String s="abc";//固定不变
//考察的是反射
Field value = s.getClass().getDeclaredField("value");
value.setAccessible(true); //value属性的访问权限是private,设置为true。若是public可以是false
value.set(s,"abcd".toCharArray());
System.out.println(s);//固定不变,让s输出的值是abcd
}
}
该代码示例展示了如何使用Java的反射API来修改字符串对象的内部`value`字段,从而在不改变引用的情况下,将`s`引用的字符串从`abc`变为`abcd`。
3096

被折叠的 条评论
为什么被折叠?



