//obj 對象 className 字段上的註解類
private void changeAnnotation(Class<?> obj,String fieldName, Class className, String changename,String fname){
try {
Field field= obj.getDeclaredField(fieldName);
Annotation aClass= field.getAnnotation(className);
InvocationHandler invocationHandler = Proxy.getInvocationHandler(aClass);
Field annoField = invocationHandler.getClass().getDeclaredField("memberValues");
annoField.setAccessible(true);
try {
Map memberValues = (Map) annoField.get(invocationHandler);
//修改註解屬性
memberValues.put(fname,changename);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}