在程序中写List lists = new ArrayList(),提示出错。
错误如下:
Type mismatch: cannot convert from ArrayList to List 。
原因:
因为AyyayList存储时采用了java泛型这个概念,所以表示ArrayList初始化的时候最好加上你存储的数据类型。
解决方法:
在ArrayList中存储String类型,那么初始化的时候应该写成ArrayList<String> arraylist = new ArrayList<String>(); 不过一般建议采用接口和子类继承方式初始化,即List<String> list = new ArrayList<String>();
为什么要用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢?
问题就在于List有多个实现类,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类,如 LinkedList或者Vector等等,这时你只要改变这一行就行了:List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。 假设你开始用 ArrayList alist = new ArrayList(), 这下你有的改了,特别是如果你使用了ArrayList特有的方法和属性。