0

试图检查是否class K是一个静态类A

class A {
    private static class K {
        static final int MODE1 = 1;
        static final int MODE2 = 2;
    }
}

Class<?> c = A.class;
for( Class<?> item: c.getDeclaredClasses() ) {
    if( Modifier.isStatic(item.getModifiers()) ) {
        if( "K".equals(item.getSimpleName()) ) {
            // found it!
        }
    }
}

这是唯一的方法吗?遍历所有声明的类?对于我们拥有的方法getDeclaredMethod(),对于我们拥有的字段getDeclaredField(),但 TTBOMK 没有getDeclaredClass()或类似的东西。

4

1 回答 1

2

你的意思是这样吗?

Class a = A.class;
Class k = Class.forName(a.getName()+"$K");

我不认为经常这样做,所以你可能没有更“友好”的方法。

于 2013-06-05T06:55:31.580 回答