Rilevamento dei null

Pulizia dei dati in Java

Dennis Lee

Software Engineer

Dove sono i dati?

  • Dati mancanti: null e vuoti
    • Null: Dato non disponibile
    • Vuoti: Solo spazi, probabili errori

 

Titolo Data pubblicazione Valutazione N. recensioni Prezzo
Python Crash Course 1/10/23 4.8 165 $30.61
9/13/19 4.8 2,521 $38.00
Clean Code 8/1/08 [null] [null] [null]
Pulizia dei dati in Java

Errori da valori null

// mancano reviewCount, rating e price
BookSales book = new BookSales("Clean Code", LocalDate.of(2008, 8, 1),
                               null, null, null)


// rating è null, quindi il codice lancerà NullPointerException int rating = book.rating();
Exception in thread "main" java.lang.NullPointerException
Pulizia dei dati in Java

Verifica dei valori null

// Importa Objects
import java.util.Objects;
// Usa .isNull()
if (Objects.isNull(book.rating())) {
    System.out.println("Valutazione mancante");
}
Valutazione mancante
Pulizia dei dati in Java

Fornire valori predefiniti ai null

import java.util.Optional;
// Usa Optional.ofNullable per numeri
double rating = Optional.ofNullable(book.rating()).orElse(0.0);
System.out.println("Valutazione libro: " + rating);
Valutazione libro: 0.0
// Usa Objects.toString per stringhe
String displayTitle = Objects.toString(book.title(), "[No Title]");
System.out.println(displayTitle);
Titolo del libro: [No Title]
Pulizia dei dati in Java

Verifica di stringhe vuote/null

import org.apache.commons.lang3.StringUtils;  // Utility per operazioni su stringhe
// al libro manca il titolo
BookSales book = new BookSales(" ", LocalDate.of(2019, 9, 13), 2521, 4.5, 38.00)


if StringUtils.isBlank(book.title()) { System.out.println("Non valido - titolo vuoto"); }
Non valido - titolo vuoto
Pulizia dei dati in Java

Verifica di numeri vuoti

// priceText è vuoto
String priceText = " ";

// Controlla i vuoti prima di convertire in numero
if StringUtils.isBlank(priceText) {
    System.out.println("Prezzo non valido: vuoto rilevato");
}
Prezzo non valido: vuoto rilevato
Pulizia dei dati in Java

Riepilogo: rilevare null e vuoti

  • I valori null indicano dati mancanti o indefiniti
    • Import chiave: java.util.Objects e java.util.Optional
    • Evita NullPointerException controllando i null prima dell'uso
    • Usa Objects.isNull() per verificare i null
    • Usa Optional.ofNullable() per fornire default
  • I valori vuoti indicano testo vuoto o solo spazi
    • Import chiave: org.apache.commons.lang3.StringUtils
    • Usa StringUtils.isBlank() per rilevare "", null o spazi
    • Comune in errori di inserimento dati
Pulizia dei dati in Java

Passiamo alla pratica !

Pulizia dei dati in Java

Preparing Video For Download...