Cómo solucionar este problema 'Lambdas debe sustituirse por referencias método' tema de sonar en Java 8?

uno:
public static Set<NurseViewPrescriptionWrapper> create(final Set<NurseViewPrescriptionDTO> nurseViewPrescriptionDTOs) {
  return nurseViewPrescriptionDTOs.stream()
      .map(new Function<NurseViewPrescriptionDTO, NurseViewPrescriptionWrapper>() {
        @Override
        public NurseViewPrescriptionWrapper apply(NurseViewPrescriptionDTO input) {
          return new NurseViewPrescriptionWrapper(input);
        }
      })
      .collect(Collectors.toSet());
}

Convierto por encima de código para la función lambda java 8 de la siguiente manera.

public static Set<NurseViewPrescriptionWrapper> create(final Set<NurseViewPrescriptionDTO> nurseViewPrescriptionDTOs) {
  return nurseViewPrescriptionDTOs.stream()
      .map(input -> new NurseViewPrescriptionWrapper(input))
      .collect(Collectors.toSet());
}

Ahora, estoy recibiendo tema de sonar, como Lambdas should be replaced with method references, a '->' este símbolo. ¿Cómo puedo solucionar este problema?

Suman dulce:

Su lambda,

.map(input -> new NurseViewPrescriptionWrapper(input))

puede ser reemplazado por

.map(NurseViewPrescriptionWrapper::new)

Que la sintaxis es una sintaxis de referencia método. En el caso de NurseViewPrescriptionWrapper::newes una referencia método especial que se refiere a un constructor

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=186049&siteId=1
Recomendado
Clasificación