私はこれを行う方法の一例を書きました。調査されているクラスの下 検索:
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JWindow;
public class Foo {
int i;
long j;
String s;
JTable table;
JLabel label;
JWindow window;
}
そして、ここでは、このクラスのフィールドをチェックするコードです:
import java.lang.reflect.Field;
public class Test {
public static void main(String[] args) {
new Test().run();
}
private void run() {
Class<?> c = Foo.class;
System.out.println("The following fields extend Component: ");
for (Field f : c.getDeclaredFields()) {
Class<?> fieldClass = f.getType();
Class<java.awt.Component> compClass = java.awt.Component.class;
if (compClass.isAssignableFrom(fieldClass)) {
System.out.println(f.getName());
}
}
}
}
出力:
The following fields extend Component:
table
label
window
は 'instanceof'は十分ではありませんか? – khachik
'isinstance'?私は 'instanceof'を意味すると思いますか? – shift66
@Ademiban、確かに。ちょうどpythonと混同しています。ありがとう。 – khachik