2012-05-11 93 views

回答

0

这个问题是很老,但因为我没有类似的东西我会后我的解决方案:

因为我没有找到任何解决办法改变一个字段的类型在Javassist是一类,我只是删除了老方法并增加了一个新的名称相同,但我想要的类型:

CtClass point = ClassPool.getDefault().get("Point"); 
CtField toBeDeleted = point .getField("fieldName"); 
point .removeField(toBeDeleted); 
CtField newField = CtField.make("public int fieldName = 0;", point); 
point.addField(newField); 
这个例子

所以我参加了point类领域fieldName这是类型的假设Object,知道已在现场被更改'int'类型并初始化为0