-1
我有一個複合問題。我想要寫接收3個參數的方法:通用元素列表和反射訪問字段的方法
- 的字符串進行比較
- 的字段名(列表元素的)通用元素類型的
- 列表,以它的值進行比較的第一個參數
這是我到目前爲止,但它是不完整的,因爲我不知道如何定義第二個參數,我不知道如何獲取List元素類來定義單個元素(請參閱下面的代碼中的「?????」)
public class Object1 {
String name;
...
}
public class Object2 {
String address;
...
}
public class MyClass {
...
private List<Object1> list1 = new ArrayList<Object1>();
private List<Object2> list2 = new ArrayList<Object2>();
...
private boolean isUnique(String s, List<?> list, String field) {
boolean result = true;
?????? element = null;
Field f = null;
Class<?> c = ?????.class;
try {
f = c.getDeclaredField(field);
f.setAccessible(true);
} catch(NoSuchFieldException e) {
e.printStackTrace();
}
int size = list.size();
for(int i = 0; i < size; i++) {
element = list.get(i);
try {
if(s.equals(f.get(element))) {
result = false;
break;
}
} catch(IllegalArgumentException e) {
e.printStackTrace();
} catch(IllegalAccessException e) {
e.printStackTrace();
}
}
return result;
}
public boolean check(){
boolean result = isUnique("Stewart", list1, "name");
result = result & isUnique("21 pine", list2, "address");
return result;
}
}
一些解釋:是列表>列表正確的方式來聲明列表參數嗎? – ilomambo