Java - 从反射中排除超类字段

Wil*_*Boy 1 java reflection field class superclass

我正在使用此代码获取与Object关联的所有字段.有问题的对象有三个超类,其他类从这个对象扩展.

for (Field f : this.getClass().getFields()){
    try{
        fieldName = f.getName();
        fieldType = f.getType().toString();
        //Do more stuf
    }
Run Code Online (Sandbox Code Playgroud)

我不想获得与超类相关联的字段,但我想要当前类中的所有字段以及可能从中扩展的所有字段.

如何过滤掉我需要的字段?

Jon*_*eet 5

我不想获得与超类相关联的字段,但我想要当前类中的所有字段以及可能从中扩展的所有字段.

你不能得到"所有可能从它扩展的东西" - 但是如果你使用Class.getDeclaredFields()而不是getFields()那么你将只获得在该类中声明的字段.