于是乎我们将代码封装下
- public static void main(String[] args) throws Exception {
- String str = "Hello";
- change(str);
- System.out.println(str);
- }
- public static void change(String str) {
- try {
- Field field = str.getClass().getDeclaredField("value");
- // 看String 源码 private final char value[]; String的数据
- // private int hash; // Default to 0
- field.setAccessible(true);// 取消安全检查
-
- field.set(str, "heima".toCharArray());// 所以这里 传过去的参数 也应该是char []
- // 修改str
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
复制代码运行之后 输出str =heima
昨天面试 发现很多东西都知道,但是却无法正确的表达出来(所以得多练习表达能力--)...主要是黑马的面试官太漂亮了....~~谁看到美女还特么的想聊技术啊,其实我也想回过头问老师..家庭情况如何,是否有男朋友~~,顺便说下,大家面试的时候千万别太紧张,不然脑子一片空白.连个递归都会找不到出口.