Mengapa Javac Mengeluarkan Amaran "Menggunakan Operasi Tidak Ditanda atau Tidak Selamat"?
Apabila menyusun kod Java dengan javac, pembangun mungkin menghadapi amaran :
javac Foo.java Note: Foo.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
Amaran ini menunjukkan bahawa pengkompil telah mengesan potensi isu keselamatan jenis dalam kod.
Punca Amaran:
Amaran boleh timbul apabila menggunakan koleksi tanpa penentu jenis dalam Java versi 5 dan lebih baru. Sebagai contoh, menggunakan Arraylist() dan bukannya ArrayList
Penyelesaian:
Untuk menghapuskan amaran, nyatakan jenis objek yang akan disimpan dalam koleksi. Daripada:
List myList = new ArrayList();
Gunakan:
List<String> myList = new ArrayList<String>();
Ini menjelaskan jenis elemen yang dijangkakan dalam koleksi dan membolehkan pengkompil melakukan semakan jenis.
Taip Inferens dalam Java 7:
Bermula dengan Java 7, taip inferens boleh digunakan untuk memudahkan instantiasi generik. Coretan kod berikut mencapai perkara yang sama seperti contoh sebelumnya:
List<String> myList = new ArrayList<>();
Dengan memanfaatkan inferens jenis, pengkompil boleh menyimpulkan jenis generik daripada jenis elemen yang ditambahkan pada koleksi.
Atas ialah kandungan terperinci Mengapa Javac Memberi Amaran Mengenai Operasi Tidak Ditanda atau Tidak Selamat di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!