声明有什么问题?
List<Integer> phDigits = new List<Integer>();
Error: Cannot instantiate the type List <Integer>
是的我知道我可以使用new ArrayList<Integer>()
- 我问为什么第一个声明不起作用。
答案 0 :(得分:6)
List
是一个接口,这意味着其他类可以实现它。如果一个类实现List
,则可以编写
List<Integer> something = new ClassThatImplementsList<Integer>();
List
可以用作类型,因为实现List
的任何内容都是List
,但你不能说&#34;制作一个列表&#34;在Java中,因为它不知道如何。所有List
都提供了必须实现的方法,但它不包含实现。
答案 1 :(得分:3)
列表是一个界面。你无法实例化它。
这就是问题。并不是它不起作用,
它甚至不会编译。