Ho un codice successivo:Sonar vuole chiudere il flusso
private Stream<Field> getStreamWithAccessibleFields(final Object object) {
return Arrays.stream(object.getClass()
.getDeclaredFields()).peek(field -> field.setAccessible(true));
}
Sonar mi butta un problema: [MINOR] Chiudi "Stream". calamaro: S2095. Qualcuno può dare un consiglio, come posso gestire questo problema?
Quindi Sonar fa un doppio errore. Innanzitutto, ci sono flussi che potrebbero non richiedere la chiusura, in secondo luogo, la chiusura di una risorsa restituita al chiamante sarebbe errata per qualsiasi tipo di "AutoCloseable" ... – Holger
Tuttavia, preferirei l'operazione di massa per l'efficienza: 'Campo [] fields = object.getClass() .getDeclaredFields(); AccessibleObject.setAccessible (fields, true); restituire Arrays.stream (campi); ' – Holger