Manequim Iniciante:
Eu estou indo para encontrar uma classe em uma lista de Classes ( List<Class<?>>
) com fluxos java:
Class cls = classList.stream().filter(clazz -> clazz.getName().startsWith("MyName")).findAny().orElse(null);
Uma classe com o nome MyNameClass
existe na lista, mas o valor cls
é nulo no final. Há algo de errado no filter()
?
DDovzhenko:
Você deve usar .getSimpleName
, .getName
retorna nome totalmente qualificado da classe com o pacote na mesma. Por exemplo, String.class.getName()
retorna "java.lang.String".