2016-04-10 26 views
1

Alan adlarına sahip bir dizi var - fieldNamesArr ve bu alanlar için değer içeren dizi - fieldValuesArr. Ayrıca .newInstanse(); kullanarak class Class formu Object obj, formu var.Alan adını kullanarak nesne için alan belirleme (Java Yansıma)

Bu iki diziyi kullanarak obj'da uygun alanları nasıl ayarlayabilirim?
obj karmaşık alanları (sadece ilkel türleri)

+0

Soru başlığını Google'a yapıştırırsam birçok sonuç alırım. Bir şey denedin mi? –

cevap

1

I yok gerekiyordu

Class ourClass = Definer.getClassByName(tmpStrArr[1]); 
obj = ourClass.newInstance(); 

List<String> fieldNamesArr = new ArrayList<>(); 
List<String> fieldValuesArr = new ArrayList<>(); 

[sözler 1] (biz obj bu alanların hepsi var ve onlar kamu olduğunu varsayıyoruz) sadece bir çözüm buldum. Böyle bir şeye benzemelidir:

int i=0;   
for (String tmpStr: fieldNamesArr) { 
    Field field = ourClass.getField(tmpStr); 

    //converting string from fieldValuesArr[i] to required type // 

    field.set(obj,value); 
    i++ 
} 
İlgili konular