Java 面试题之反射的应用(如何在List<String> list = new ArrayList<String>();中放入Integer类型的数据)
2018-03-26 12:04
966 查看
面试题中遇到的问题,相信各位小伙伴,在面试中遇到过各类神奇的问题,不是各位说不会,也可能是没有实际应用过这类的方法,所以在面试时非常吃亏,给面试官的印象也不好。在此记录下来,与各位共勉!!
如何在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));
}
}
}
而且这种应用直接跳过编译!
如何在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));
}
}
}
而且这种应用直接跳过编译!
相关文章推荐
- ArrayList<Integer> list = new ArrayList<Integer>();在这个泛型为 Integer 的 ArrayList 中存放一个 String 类型的对象。
- ArrayList<Integer> list = new ArrayList<Integer>(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
- 如何在ArrayList<Integer>中添加String类型数据
- java如何遍历Map<String, ArrayList> map = new HashMap<String, ArrayList>();
- 【java】反射(二)——泛型集合(在ArrayList<Integer>中加入String对象)
- Java利用反射来获取一个方法的 范型化参数 Vector<Integer>的类型
- Map类型数据的使用和如何输出Map<String, List<>>类型的数据
- 如何将一个List<Map<String,String>>类型的集合数据转换成json格式输出
- Java 数据类型转换,String->float,float->int ,String<->int (2013-07-24 14:01:57)
- KeyValuePair<byte, string> 类型的数据如何绑定到ComboBox控件上
- 黑马程序员 :(反射应用 )通过反射讲<Integer>类型的集合中添加一个<String>类型的数据
- 如何理解:List<String> list=new ArrayList<String>();为甚麼要声明为List 而不是ArrayList<String>?
- java如何解析json字符串(List<Map<String,Object>成功的类型)
- ArrayList list = new ArrayList() 和List<String> list = new ArrayList<String>() 的区别?
- Android中将List<Map<String, Object>>类型数据与字符串的相互转化
- java面试要点---ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
- java 之Sting类型的List集合的汉字排序和String类型数组的汉字排序及List<Bean>排序
- mybatis查询如何返回List<Map>类型数据
- javaweb --- jsp页面遍历list<map>类型的数据
- android 子线程通过bundle、handler.sendMessage(message)向主线程传输多个类型数据,包括list<Map<String,Object>>