我正在寻找将整个pojo转换为的实用程序Map<String,String>
。我到处都可以看到示例,其中pojo转换为Map<String,Object>
。
但是我正在寻找Map<String,String>
。
在这里重要的是要了解什么是POJO的关键和价值。您可以覆盖POJO的toString并将其用作值。
public class Main {
public static void main(String[] args) {
Map<String, String> result = new HashMap<>();
result.put("key1", new POJO("Done").toString());
result.put("key2", new POJO("Clarke").toString());
}
}
public class POJO {
private String name;
public POJO(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
如果将字段名称用作键,则可以使用反射。请注意,如果将POJO中的field修饰符更改为private,则需要稍微更改代码。了解有关反射的信息。
public class Main {
public static void main(String[] args) throws IllegalAccessException {
Map<String, String> result = new HashMap<>();
POJO pojo = new POJO("okGoogle", 12345);
Class classPOJO = pojo.getClass();
Field [] allFields = classPOJO.getFields();
for(Field field : allFields){
String key = field.getName();
String value = null;
if( field.get(pojo) != null){
value = field.get(pojo).toString();
}
result.put(key, value);
}
System.out.println(result.get("name"));
System.out.println(result.get("id"));
}
}
和POJO模型
public class POJO {
public String name;
public int id;
public POJO(String name, int id) {
this.name = name;
this.id = id;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句