Mengonversi String Java Menjadi Boolean

1. Ikhtisar

Dalam tutorial ini, kita akan menjelajahi berbagai cara menggunakan kelas Boolean Java untuk mengonversi String menjadi boolean .

2. Boolean.parseBoolean ()

Boolean.parseBoolean () memungkinkan kita meneruskan String dan menerima boolean primitif .

Pertama, mari tulis tes untuk melihat bagaimana parseBoolean () mengonversi String dengan nilai true:

assertThat(Boolean.parseBoolean("true")).isTrue();

Tentu saja, ujian itu berhasil.

Faktanya, semantik parseBoolean () sangat jelas sehingga IntelliJ IDEA memperingatkan kita bahwa meneruskan string literal "true" adalah redundan.

Dengan kata lain, metode ini sangat bagus untuk mengubah String menjadi boolean .

3. Boolean.valueOf ()

Boolean.valueOf () juga memungkinkan kita mengirimkan String , tetapi metode ini mengembalikan instance kelas Boolean alih-alih boolean primitif .

Kita dapat melihat bahwa metode ini juga berhasil mengubah String kita :

assertThat(Boolean.valueOf("true")).isTrue();

Metode ini benar-benar menggunakan parseBoolean () untuk melakukan yang String konversi di latar belakang, dan hanya menggunakan hasilnya untuk mengembalikan didefinisikan secara statis Boolean misalnya.

Oleh karena itu, metode ini hanya boleh digunakan jika instance Boolean yang dikembalikan diperlukan. Jika hanya hasil primitif yang dibutuhkan, akan lebih baik jika tetap menggunakan parseBoolean () secara langsung.

4. Boolean.getBoolean ()

Boolean.getBoolean () adalah metode ketiga yang menerima String dan mengembalikan boolean .

Tanpa melihat dokumentasi atau implementasi metode ini, orang mungkin berasumsi bahwa metode ini juga untuk mengubah argumen String -nya menjadi boolean:

assertThat(Boolean.getBoolean("true")).isTrue(); // this test fails!

Alasan bahwa tes ini gagal adalah bahwa para String argumen seharusnya mewakili nama dari boolean properti sistem.

Dengan mendefinisikan properti sistem:

System.setProperty("CODING_IS_FUN", "true"); assertThat(Boolean.getBoolean("CODING_IS_FUN")).isTrue();

Akhirnya, ujian itu berhasil. Memeriksa pelaksanaan metode ini mengungkapkan bahwa itu juga, menggunakan parseBoolean () metode untuk melakukan yang String konversi.

Perhatikan bahwa getBoolean () secara harfiah adalah pintasan untuk parseBoolean (System.getProperty (“true”)), yang berarti bahwa kita tidak boleh disesatkan dengan namanya.

Oleh karena itu, satu-satunya cara Boolean.getBoolean ("benar"); akan pernah mengembalikan true jika ada properti sistem yang disebut "true" dan nilainya diurai menjadi benar .

4. Kesimpulan

Dalam tutorial singkat ini, kita telah melihat perbedaan utama antara Boolean.parseBoolean () , Boolean.valueOf () , dan Boolean.getBoolean () .

Meskipun parseBoolean () dan valueOf () keduanya mengonversi String menjadi boolean , penting untuk diingat bahwa Boolean.getBoolean () tidak.

Kode sumber dengan semua contoh dalam tutorial ini dapat ditemukan di Github.