Contoh dalam artikel ini menjelaskan bagaimana Java menggunakan refleksi untuk merangkum objek entitas secara otomatis. Bagikan dengan semua orang untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Saat menggunakan metode ini, nama parameter yang ingin diteruskan harus diakhiri dengan nomor baris. Jika nomor baris dihilangkan, itu adalah nama atribut objek entitas harus berupa nama. Kodenya adalah sebagai berikut. Salin kode tersebut. Kodenya adalah sebagai berikut: // Dapatkan data halaman dan secara otomatis merangkumnya ke dalam objek kacang.
Daftar publik getObjectList(Kelas clazz,String[] rowNos) memunculkan Pengecualian{
Daftar objList = ArrayList baru();
for(int i=0;rowNos!=null && i<rowNos.length;i++){
//Buat instance objek
Objek objek = clazz.newInstance();
//Dapatkan atribut yang dideklarasikan oleh kelas
Bidang[] bidang = clazz.getDeclaredFields();
StringBuffer buffer = nol;
//Melintasi properti dan melakukan enkapsulasi
for(int j=0;j<bidang.panjang;j++){
//Dapatkan nama atributnya
String fieldName = bidang[j].getName();
//Dapatkan nama parameternya
String paraName = bidang[j].getName()+rowNos[i];
//Jika nilai parameter yang diperoleh kosong, lanjutkan perulangan
Nilai string = getValueNull(paraName);
jika(nilai==batal){
melanjutkan;
}
//Nilai parameter
Objek[] paramValue =Objek baru[1];
if(bidang[j].getType().toString().equals("kelas java.lang.String")){
paramValue[0]=nilai;
}
if(fields[j].getType().toString().equals("class java.lang.Integer")){
paramValue[0]=Integer baru(nilai);
}
if(fields[j].getType().toString().equals("class java.lang.Double")){
paramValue[0]=Ganda baru(nilai);
}
if(fields[j].getType().toString().equals("class java.util.Date")){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
paramValue[0]=sdf.parse(nilai);
}
//Jenis parameter
Kelas[] paramType= {bidang[j].getType()};
//Dapatkan nama metode set
buffer = new StringBuffer("set");
buffer.append(fieldName.substring(0, 1).toUpperCase());
buffer.append(namabidang.substring(1));
//Ambil dan pasang kembali
Metode metode = clazz.getDeclaredMethod(buffer.toString(), paramType);
//metode eksekusi
metode.invoke(objek,paramValue);
}
//Masukkan objek saat ini ke dalam daftar
objList.add(objek);
}
kembalikan Daftar Obj;
}
Saya harap artikel ini bermanfaat untuk pemrograman Java semua orang.