Pembersihan Data di Java
Dennis Lee
Software Engineer
| Judul | Tanggal Terbit | Rating | Jumlah Ulasan | Harga |
|---|---|---|---|---|
| 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 tidak memiliki reviewCount, rating, dan price BookSales book = new BookSales("Clean Code", LocalDate.of(2008, 8, 1), null, null, null)// rating bernilai null, sehingga kode melempar NullPointerException int rating = book.rating();
Exception in thread "main" java.lang.NullPointerException
// Impor Objects
import java.util.Objects;
// Gunakan .isNull()
if (Objects.isNull(book.rating())) {
System.out.println("Rating hilang");
}
Missing rating
import java.util.Optional;
// Gunakan Optional.ofNullable untuk angka
double rating = Optional.ofNullable(book.rating()).orElse(0.0);
System.out.println("Book rating: " + rating);
Book rating: 0.0
// Gunakan Objects.toString untuk string
String displayTitle = Objects.toString(book.title(), "[No Title]");
System.out.println(displayTitle);
Book title: [No Title]
import org.apache.commons.lang3.StringUtils; // Utilitas untuk operasi string
// book tidak memiliki judul BookSales book = new BookSales(" ", LocalDate.of(2019, 9, 13), 2521, 4.5, 38.00)if StringUtils.isBlank(book.title()) { System.out.println("Tidak valid - judul kosong"); }
Invalid - empty title
// priceText kosong
String priceText = " ";
// Periksa kosong sebelum mengonversi ke angka
if StringUtils.isBlank(priceText) {
System.out.println("Harga tidak valid: terdeteksi kosong");
}
Invalid price: blank detected
java.util.Objects dan java.util.OptionalNullPointerException dengan memeriksa null sebelum dipakaiObjects.isNull() untuk cek nullOptional.ofNullable() untuk nilai defaultorg.apache.commons.lang3.StringUtilsStringUtils.isBlank() untuk mendeteksi "", null, atau spasiPembersihan Data di Java