面試題中遇到的問題,相信各位小夥伴,在面試中遇到過各類神奇的問題,不是各位說不會,也可能是沒有實際應用過這類的方法,所以在面試時非常吃虧,給面試官的印象也不好。在此記錄下來,與各位共勉!!
如何在List<String> list = new ArrayList<String>();中放入Integer類型的數據,之前沒有遇到過這種情況,回來找了一下度娘才明白,應用到了反射機制。
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class Demo {
public static void main(String[] args) throws NoSuchMethodException,
SecurityException, IllegalAccessException,
IllegalArgumentException, InvocationTargetException {
List<String> list = new ArrayList<String>();
Class<?> cls = list.getClass();
Method method = cls.getMethod("add", Object.class);
method.invoke(list, 1);
method.invoke(list, "s");
method.invoke(list, 2);
method.invoke(list, 4);
System.out.println(list);
ArrayList<Object> obj = new ArrayList<Object>();
obj.addAll(list);
for (int i = 0; i < obj.size(); i++) {
System.out.println(obj.get(i));
}
}
}
而且這種應用直接跳過編譯!