繁体   English   中英

仅获取Java类的属性计数

[英]Get only properties count for java class

好的,所以我尝试获取类的属性计数。 我已经看到两个相关的问题,但是他们并没有完全回答这个问题。

问题一

问题二

这两个的问题是

SomeClass.class.getDeclaredFields().length

SomeClass.class.getDeclaredMethods().length

并没有完全返回我期望他们的结果。 我有示例课:

SomeClass {
    public static final int ONE = 1, TWO = 2, THREE = 3;

    public static int someMethodOne(){}
    public static int someMethodTwo(){}
}

声明的字段返回5,据此, 是错误的,应为3。声明的方法也无济于事,因为它返回3,而只有2个声明的方法。 这有什么问题?

编辑:尝试使用Java 8和Android Studio做到这一点

运行下面的代码时,我得到的预期值为32 如果获得其他值,则还可以打印字段名称和方法(请参见下文)。

public class SomeClassChecker {

    public static void main(String[] args) {
        System.out.println(SomeClass.class.getDeclaredFields().length);
        System.out.println(SomeClass.class.getDeclaredMethods().length);

        for (Field field : SomeClass.class.getDeclaredFields()) {
            System.out.println("field: " + field.getName());
        }

        for (Method method : SomeClass.class.getDeclaredMethods()) {
            System.out.println("method: " + method.getName());
        }

    }

} 

Java 8和Eclipse。 我得到此(预期)输出:

3
2
field: ONE
field: TWO
field: THREE
method: someMethodOne
method: someMethodTwo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM