Détection des null

Nettoyer des données en Java

Dennis Lee

Software Engineer

Où sont les données ?

  • Données manquantes : null et vides
    • Null : Données non disponibles
    • Vides : Espaces, erreurs probables

 

Titre Date de publication Note Nb d’avis Prix
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]
Nettoyer des données en Java

Erreurs dues aux valeurs null

// book n’a pas reviewCount, rating et price
BookSales book = new BookSales("Clean Code", LocalDate.of(2008, 8, 1),
                               null, null, null)


// rating est null, donc le code va lever une NullPointerException int rating = book.rating();
Exception in thread "main" java.lang.NullPointerException
Nettoyer des données en Java

Vérifier les valeurs null

// Importer Objects
import java.util.Objects;
// Utiliser .isNull()
if (Objects.isNull(book.rating())) {
    System.out.println("Note manquante");
}
Note manquante
Nettoyer des données en Java

Fournir des valeurs par défaut pour null

import java.util.Optional;
// Utiliser Optional.ofNullable pour les nombres
double rating = Optional.ofNullable(book.rating()).orElse(0.0);
System.out.println("Book rating: " + rating);
Book rating: 0.0
// Utiliser Objects.toString pour les chaînes
String displayTitle = Objects.toString(book.title(), "[No Title]");
System.out.println(displayTitle);
Book title: [No Title]
Nettoyer des données en Java

Vérifier les chaînes vides/null

import org.apache.commons.lang3.StringUtils;  // Utilitaire pour opérations sur chaînes
// book n’a pas de titre
BookSales book = new BookSales(" ", LocalDate.of(2019, 9, 13), 2521, 4.5, 38.00)


if StringUtils.isBlank(book.title()) { System.out.println("Invalide - titre vide"); }
Invalide - titre vide
Nettoyer des données en Java

Vérifier les nombres vides

// priceText est vide
String priceText = " ";

// Vérifier les vides avant de convertir en nombre
if StringUtils.isBlank(priceText) {
    System.out.println("Prix invalide : vide détecté");
}
Prix invalide : vide détecté
Nettoyer des données en Java

Résumé : détecter null et vides

  • Les valeurs null indiquent des données manquantes ou indéfinies
    • Imports clés : java.util.Objects et java.util.Optional
    • Éviter NullPointerException en testant null avant usage
    • Utiliser Objects.isNull() pour tester null
    • Utiliser Optional.ofNullable() pour fournir des valeurs par défaut
  • Les valeurs vides indiquent un texte vide ou espaces uniquement
    • Import clé : org.apache.commons.lang3.StringUtils
    • Utiliser StringUtils.isBlank() pour détecter "", null ou espaces
    • Fréquent lors d’erreurs de saisie
Nettoyer des données en Java

Passons à la pratique !

Nettoyer des données en Java

Preparing Video For Download...