我正在尝试将 List<Field>
转换为简单的字符串,但我不确定如何将它们从数组中解析为单个 String
变量。
我当前正在使用一种方法,该方法通过使用 getDeclaredFields()
的类。方法并将它们输出到数组中。
public static List<Field> getInheritedPrivateFields(Class<?> type) {
List<Field> result = new ArrayList<Field>();
Class<?> i = type;
while (i != null && i != Object.class) {
Collections.addAll(result, i.getDeclaredFields());
i = i.getSuperclass();
}
for(Field temp : result) {
System.out.println(temp);
}
return result;
}
我输出时得到的结果是
[private int com.gen.e.ric.report.domain.TestCount.count,
private java.lang.String com.gen.e.ric.report.domain.Test.facility,
private java.lang.String com.gen.e.ric.report.domain.Test.technology,
private java.lang.String com.gen.e.ric.report.domain.Test.component,
private java.util.List com.gen.e.ric.report.domain.Test.etestStats,
private java.util.Date com.gen.e.ric.report.domain.Test.startDate,
private java.util.Date com.gen.e.ric.report.domain.Test.endDate]
我想要得到的只是一个长字符串
int, String, String, List, Date, Date
有什么可以提供的帮助吗?顺便说一句,使用反射。 谢谢。
最佳答案
您只想输出每个Field
的类型,所以这样做:
for(Field temp : result) {
System.out.println(temp.getType());
}
或者将其放入字符串
中:
String types = result.stream().map(e->e.getType().getSimpleName()).collect(Collectors.joining(","));
关于Java - 将 List<Field> 解析为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55117866/