Deteksi null

Pembersihan Data di Java

Dennis Lee

Software Engineer

Di mana datanya?

  • Data hilang: null dan kosong
    • Null: Data tidak tersedia
    • Kosong: Spasi kosong, kemungkinan error

 

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]
Pembersihan Data di Java

Error dari nilai 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
Pembersihan Data di Java

Memeriksa nilai null

// Impor Objects
import java.util.Objects;
// Gunakan .isNull()
if (Objects.isNull(book.rating())) {
    System.out.println("Rating hilang");
}
Missing rating
Pembersihan Data di Java

Memberi nilai default untuk null

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]
Pembersihan Data di Java

Memeriksa string kosong/null

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
Pembersihan Data di Java

Memeriksa angka kosong

// 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
Pembersihan Data di Java

Ringkasan: mendeteksi null dan kosong

  • Nilai null menandakan data hilang atau tidak terdefinisi
    • Impor utama: java.util.Objects dan java.util.Optional
    • Cegah NullPointerException dengan memeriksa null sebelum dipakai
    • Gunakan Objects.isNull() untuk cek null
    • Gunakan Optional.ofNullable() untuk nilai default
  • Nilai kosong menandakan teks kosong atau hanya spasi
    • Impor utama: org.apache.commons.lang3.StringUtils
    • Gunakan StringUtils.isBlank() untuk mendeteksi "", null, atau spasi
    • Umum pada kesalahan entri data
Pembersihan Data di Java

Ayo berlatih!

Pembersihan Data di Java

Preparing Video For Download...