java修改string_Java修改String对象的值

  • Post author:
  • Post category:java


使用两种方式修改String的值:

1.反射

2.Unsafe

代码示例:

import java.lang.reflect.Field;

import org.junit.Test;

import sun.misc.Unsafe;

public class ModifyString {

/**

* 反射修改String

* @throws Exception

* 2014年9月23日

*/

@Test

public void testReflect() throws Exception{

String str=”hello,world”;

Field f=str.getClass().getDeclaredField(“value”);

f.setAccessible(true);

char[] target=new char[]{‘h’,’a’};

Field c=str.getClass().getDeclaredField(“count”);

c.setAccessible(true);

c.set(str, target.length);

f.set(str, new char[]{‘h’,’a’});

System.out.println(str);

}

/**

* Unsafe 修改String

* @throws Exception

* 2014年9月23日



版权声明:本文为weixin_36001196原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。