只是一个理论问题,该方法不应该调用空构造函数,从而返回一个空列表吗?
答案 0 :(得分:2)
方法newInstance()
属于名为Class
的类。的Javadoc:
创建此Class对象表示的类的新实例。该类实例化为具有空参数列表的新表达式。
所以这两个是等价的:
ArrayList a = new ArrayList();
ArrayList b = ArrayList.class.newInstance();
您可以为每个类执行此操作,但不建议这样做,因为您失去了编译时安全性(如果没有no-arg构造函数,它可能在运行时失败)并且无法跟踪用法。