1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class Surprise
{
public static void main(String[] args) throws Exception
{
System.out.println("Java est un langage sur!");
doEvil();
System.out.println("Java est un langage sur!");
}
static void doEvil() throws Exception
{
String dst = "Oui, tres sur.";
String src = "Java est un langage sur!";
setField(src, "value", dst.toCharArray());
setField(src, "count", Integer.valueOf(dst.length()));
}
static void setField(Object object, String name, Object value)
throws Exception
{
java.lang.reflect.Field
field = object.getClass().getDeclaredField(name);
field.setAccessible(true);
field.set(object, value);
}
} |