Konsep pernyataan
Pernyataan digunakan untuk membuktikan dan menguji asumsi program, seperti "nilainya di sini lebih besar dari 5".
Pernyataan dapat sepenuhnya dihapus dari kode saat runtime, sehingga mereka tidak berpengaruh pada kecepatan berjalan kode.
Penggunaan pernyataan
Ada dua cara untuk menegaskan:
Satu menegaskan << Ekspresi Bolean >>;
Yang lainnya menegaskan << Bolean Expression >>: << Detail Deskripsi >>.
Jika nilai ekspresi boolean salah, pengecualian penegasan akan dilemparkan;
Public AsserTexample {public static void main (string [] args) {int x = 10; / * Abaikan */}} System.out.println ("Pernyataan Pengujian bahwa x == 10"); ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::
Karena kata kunci baru diperkenalkan, parameter tambahan perlu ditambahkan selama kompilasi. Kode:
javac -source 1.4 assertexample.java
Program di atas perlu menggunakan parameter tambahan (dan parameter baris perintah numerik diperlukan) saat menjalankan fungsi pernyataan, misalnya:
Java -ea Assertexample 1
Output dari program ini adalah:
Pengujian Pernyataan bahwa x == 10 Exception di Thread "Main" Java.lang.assertionerror: Pernyataan kami gagal dalam assertexample.main (assertexample.java:20)
Karena parameter input tidak sama dengan 10, fungsi pernyataan menyebabkan program untuk melempar kesalahan pernyataan saat berjalan. Menegaskan bahwa nilai boolean digunakan, jika nilainya tidak benar, sebuah penegasan dilemparkan dan program diakhiri.
Menegaskan penggunaan yang direkomendasikan
Digunakan untuk memverifikasi logika internal dalam metode, termasuk:
Catatan: Tidak disarankan untuk memeriksa prasyarat dalam metode publik.
Pernyataan pemblokiran runtime
Untuk memblokir pernyataan selama runtime, Anda dapat menggunakan metode berikut:
Untuk mengizinkan pernyataan saat menjalankan java disableassersions atau java da class name, Anda dapat menggunakan metode berikut:
java enableassersions atau java ea class name