Limpeza de Dados em Java
Dennis Lee
Software Engineer
| Título | Data de publicação | Nota | Nº de reviews | Preço |
|---|---|---|---|---|
| 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] |
// book está sem reviewCount, rating e price BookSales book = new BookSales("Clean Code", LocalDate.of(2008, 8, 1), null, null, null)// rating é null, então o código vai lançar NullPointerException int rating = book.rating();
Exception in thread "main" java.lang.NullPointerException
// Importar Objects
import java.util.Objects;
// Usar .isNull()
if (Objects.isNull(book.rating())) {
System.out.println("Nota ausente");
}
Nota ausente
import java.util.Optional;
// Use Optional.ofNullable para números
double rating = Optional.ofNullable(book.rating()).orElse(0.0);
System.out.println("Book rating: " + rating);
Book rating: 0.0
// Use Objects.toString para strings
String displayTitle = Objects.toString(book.title(), "[No Title]");
System.out.println(displayTitle);
Book title: [No Title]
import org.apache.commons.lang3.StringUtils; // Utilitário para strings
// book está sem título BookSales book = new BookSales(" ", LocalDate.of(2019, 9, 13), 2521, 4.5, 38.00)if StringUtils.isBlank(book.title()) { System.out.println("Inválido - título vazio"); }
Inválido - título vazio
// priceText está em branco
String priceText = " ";
// Verifique em branco antes de converter para número
if StringUtils.isBlank(priceText) {
System.out.println("Preço inválido: valor em branco");
}
Preço inválido: valor em branco
java.util.Objects e java.util.OptionalNullPointerException checando null antes de usarObjects.isNull() para verificar nullOptional.ofNullable() para definir padrõesorg.apache.commons.lang3.StringUtilsStringUtils.isBlank() para detectar "", null ou espaçosLimpeza de Dados em Java