Díky. O tomhle jsem nevěděl, ale udělal jsem to jiným způsobem.
Když použiji kód v předešlé otázce
public ArrayList<String> getAllFields() {
return Arrays.stream(getClass().getDeclaredFields())
.filter(field -> !Modifier.isStatic(field.getModifiers()))
.map(this::getFieldValue)
.filter(Objects::nonNull)
.map(Objects::toString)
.collect(Collectors.toCollection(ArrayList::new));
}
private Object getFieldValue(final Field field) {
try {
return field.get(this);
} catch (final IllegalAccessException e) {
throw new RuntimeException(e);
}
}
Tak změním
.filter(Objects::nonNull)
na
.filter(object -> Objects.nonNull(object) && (object instanceof String || object instanceof Integer))
Ale, nejsem si jistý, jestli je tohle nejlepší způsob. Co myslíte Vy?
Navíc, nechci se odkazovat pouze na Integer. Nevíte, jak se odkazovat na celá čísla, bez nutnosti vypisovat všechny použitelné datové typy? Pokud je to vůbec možné.
Prosím o radu.
Děkuji