如何获取java类中的属性数?

llm*_*llm 9 java class

我有一个java类,包含数据库表的所有列作为属性(成员变量)和相应的getter和setter.

我希望在这个类中有一个方法,getColumnCount()它返回列数(即类中的属性数)?如果不对数字进行硬编码,我将如何实现?我对这方面的批评和建议持开放态度.谢谢.

Bal*_*usC 23

检查反射API.如果有问题的类实际上是 Javabean,您可以获得字段数(您调用它的属性或列),如下所示:

public int getColumnCount() {
    return getClass().getDeclaredFields().length;
}
Run Code Online (Sandbox Code Playgroud)

然而,我非常怀疑这一点的必要性.如果您详细说明您认为需要此方法/解决方案的功能要求,那么我们可以提出更好的方法.

  • 如果您使用的是合适的ORM API,则可以使用API​​提供的方法来计算映射详细信息.JPA和好的'Hibernate可以做到这一点. (2认同)