【发布时间】:2018-10-12 03:26:40
【问题描述】:
我正在尝试从一个类的所有属性创建一个映射。我的类看起来像:
public class MyInventory
{
private int tiers = 80;
private int stearing =135;
private int battery = 46;
}
现在我已经收集了该类的所有方法:
Field[] fields = this.getClass().getDeclaredFields();
现在,我正在尝试从中创建一个 Map,其中键是字段的值,值是字段的名称。示例:
Map<46,battery> ...etc
有办法吗? 上述类的属性值是通过映射到属性文件并使用spring注解@ConfigurationProperties生成的。现在我需要创建 Map 但键属性的值。我尝试使用反射。但是没有找到获取字段值的方法。
谢谢
【问题讨论】:
-
所以你想创建一个
Map<int,String>- 有什么问题? -
听起来很奇怪,我们经常按字段名创建键,反之亦然。无论如何,这是可能的。只需使用反射 api docs.oracle.com/javase/7/docs/api/java/lang/reflect/Field.html
-
@BalwinderSingh
Map<Integer, String>* ;) -
@Eng.Fouad 是真的。我想是匆忙输入的;)
-
如果你已经完成了你的课程,为什么还需要一张地图?如果使用 MyInventory 列表会不会更简单?
标签: java