Erkennung von Nullwerten

Datenbereinigung in Java

Dennis Lee

Software Engineer

Wo sind die Daten?

  • Fehlende Daten: null und leer
    • Null: Daten nicht vorhanden
    • Leer: Nur Leerzeichen, oft Fehler

 

Titel Veröffentlichungsdatum Bewertung Anzahl Bewertungen Preis
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]
Datenbereinigung in Java

Fehler durch Nullwerte

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


// rating ist null, daher wird eine NullPointerException ausgelöst int rating = book.rating();
Exception in thread "main" java.lang.NullPointerException
Datenbereinigung in Java

Auf Nullwerte prüfen

// Objects importieren
import java.util.Objects;
// .isNull() verwenden
if (Objects.isNull(book.rating())) {
    System.out.println("Bewertung fehlt");
}
Bewertung fehlt
Datenbereinigung in Java

Standardwerte für null setzen

import java.util.Optional;
// Für Zahlen Optional.ofNullable verwenden
double rating = Optional.ofNullable(book.rating()).orElse(0.0);
System.out.println("Book rating: " + rating);
Book rating: 0.0
// Für Strings Objects.toString verwenden
String displayTitle = Objects.toString(book.title(), "[No Title]");
System.out.println(displayTitle);
Book title: [No Title]
Datenbereinigung in Java

Auf leere/null Strings prüfen

import org.apache.commons.lang3.StringUtils;  // Utility für String-Operationen
// book hat keinen Titel
BookSales book = new BookSales(" ", LocalDate.of(2019, 9, 13), 2521, 4.5, 38.00)


if StringUtils.isBlank(book.title()) { System.out.println("Ungültig – leerer Titel"); }
Ungültig – leerer Titel
Datenbereinigung in Java

Auf leere Zahlen prüfen

// priceText ist leer
String priceText = " ";

// Vor der Zahlumwandlung auf Leerwerte prüfen
if StringUtils.isBlank(priceText) {
    System.out.println("Ungültiger Preis: Leerwert erkannt");
}
Ungültiger Preis: Leerwert erkannt
Datenbereinigung in Java

Zusammenfassung: null und leer erkennen

  • Nullwerte bedeuten fehlende oder undefinierte Daten
    • Wichtige Importe: java.util.Objects und java.util.Optional
    • NullPointerException vermeiden: vor Nutzung auf null prüfen
    • Mit Objects.isNull() auf null prüfen
    • Mit Optional.ofNullable() Standardwerte setzen
  • Leere Werte sind Text mit nur Leerzeichen oder ""
    • Wichtiger Import: org.apache.commons.lang3.StringUtils
    • StringUtils.isBlank() erkennt "", null oder nur Leerzeichen
    • Häufig bei Dateneingabefehlern
Datenbereinigung in Java

Lass uns üben!

Datenbereinigung in Java

Preparing Video For Download...