Pulizia dei dati in Java
Dennis Lee
Software Engineer
| 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] |
// 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
// Importa Objects
import java.util.Objects;
// Usa .isNull()
if (Objects.isNull(book.rating())) {
System.out.println("Valutazione mancante");
}
Valutazione mancante
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]
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
// 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
java.util.Objects e java.util.OptionalNullPointerException controllando i null prima dell'usoObjects.isNull() per verificare i nullOptional.ofNullable() per fornire defaultorg.apache.commons.lang3.StringUtilsStringUtils.isBlank() per rilevare "", null o spaziPulizia dei dati in Java