可以通过反射将String放入List中。
那什么是反射呢?
在运行过过程中
- 获取类的名称,方法,属性,注解,类型等。
- 获取任意对象的方法,属性等。并且可以改变对象属性
- 判断一个对象所属的类
- 实例化任意一个类的对象
其实就是java提供的reflect包
回到一开始的那个问题,List list = new ArrayList<>()里面可以放String类型的数据吗?
很显然是可以的,因为list是一个对象,而反射可以获取对象的属性方法,并且改变对象属性。那我们就可以通过list.getMethod()
方法获取list的add
方法,然后将其参数改为String
就可以保存String类型的数据。
具体的代码实现
@Test
public void test01() throws NoSuchMethodException, InvocationTarg