我有了一大堆构件的DTO。我在想,如果Java支持的对(在)为类的想法。我不认为这样做,但如果没有它会救我一吨的悲伤,所以,我想我会折腾的问题在那里。

有帮助吗?

解决方案

好了,你可以用反射做到这一点:

for (Field field : clazz.getFields())
{
    ...
}

(或者类似的方法等)。

您可以再拿到字段值特定实例或静态值。

其他提示

这样做,有点麻烦虽然。

您必须使用反射。

请参阅: Class.getDeclaredFieds()

  

返回Field对象反映此Class对象所表示的类或接口声明的所有字段的阵列

您可以看到一个例子这里

  

有从一类对象获取一个Field对象的三种方式。

 Class cls = java.awt.Point.class;

 // By obtaining a list of all declared fields.
 Field[] fields = cls.getDeclaredFields();

 // By obtaining a list of all public fields, 
 // both declared and inherited.
 fields = cls.getFields();
 for (int i=0; i<fields.length; i++) {
   Class type = fields[i].getType();
   process(fields[i]);
 }

 // By obtaining a particular Field object.
 // This example retrieves java.awt.Point.x.
 try {
   Field field = cls.getField("x");
   process(field);
   } catch (NoSuchFieldException e) {
 }

请参阅类定义更多选项。

您可以使用反射来获取所有成员和功能。

也许你要问自己,为什么DTO有,你认为这是必要的,这样许多成员。可以是时间重构。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top