Java reflection - get field value -


i try make class generate new classname.java file using reflection. have problem fields value.

here test class.

public class classtest { @deprecated private int a;   public int[] b;  private final string c = "hi"; ... } 

method in try generate fields.

private void writeattributes(class<?> cls, printwriter writer){     field[] atr = cls.getdeclaredfields();     (field field : atr) {          this.writeannotations(writer, field.getdeclaredannotations());         writer.write(modifier.tostring(field.getmodifiers())+" " + field.gettype().gettypename()+ " " + field.getname());         try{             system.out.println(field);             // null pointer exception there             object value = field.get(null);             if(value!= null){                 writer.write(" = " + value.tostring());             }         }catch(illegalaccessexception ex){          }         writer.write(";");         this.writenewline(writer);     } } 

error on third field private final string c = "hi";

exception in thread "main" java.lang.nullpointerexception @ sun.reflect.unsafefieldaccessorimpl.ensureobj(unsafefieldaccessorimpl.java:57) @ sun.reflect.unsafeobjectfieldaccessorimpl.get(unsafeobjectfieldaccessorimpl.java:36) 

i have tried add field.setaccessible(true); there error comes on second field. ideas bad?

since instance field, need pass instance of class get method:

get(clsinstance); 

the documentation pretty clear that:

throws nullpointerexception - if specified object null , field instance field.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -