Java按位置获取对象属性

Java按位置获取对象属性,java,object,attributes,Java,Object,Attributes,我有一个对象列表:list。有没有办法按位置获取属性?我在想这样的事情: for(int i=0 ; i<list.size() ; i++) { Object o = list.get(i); attribute1 = o.get(1); } 对于(int i=0;i您可以使用反射: Object obj = ... Field[] fields = obj.getClass().getDeclaredFields(); 请注意,字段顺序不受保证,您可能希望使用 Ja

我有一个对象列表:list。有没有办法按位置获取属性?我在想这样的事情:

 for(int i=0 ; i<list.size() ; i++) {
   Object o = list.get(i);
   attribute1 = o.get(1);
 }

对于(int i=0;i您可以使用反射:

Object obj = ...
Field[] fields = obj.getClass().getDeclaredFields();
请注意,字段顺序不受保证,您可能希望使用

Javadoc:

反射教程:

视情况而定

如果按照一些人的建议使用
getDeclaredFields()
,则字段上没有定义特定的顺序。从:

返回的数组中的元素没有排序,也没有任何特定的顺序


这可能是因为对于您的用例,对任意排序的位置访问是有效的。如果是这样,很好。否则请小心。您可能需要强制执行您自己的顺序(例如,在调用
getDeclaredFields()
)后按字母顺序对字段进行排序。

简单回答
。当您有对象时,调用
getters
有什么错