Juan Beltrán:
Estoy tratando de convertir una List<Field>
en cadenas simples, pero no estoy seguro de cómo analizar fuera de la matriz en una sola String
variable.
Actualmente estoy usando un método que pasa a través de una clase que utiliza un getDeclaredFields()
método y los imprime en una matriz.
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;
}
El resultado me da cuando la salida que es
[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]
Lo que quiero conseguir es sólo una larga cadena con
int, String, String, List, Date, Date
Cualquier ayuda para dar? El uso de Reflexión por cierto. Gracias.
f1sh:
Sólo se desea dar salida a cada uno Field
's tipo, por lo que hacer:
for(Field temp : result) {
System.out.println(temp.getType());
}
o con el fin de ponerlo en una String
:
String types = result.stream().map(e->e.getType().getSimpleName()).collect(Collectors.joining(","));