我目前正在攻读Java OCA考试,并遇到了一个与ArrayList声明有关的问题.
以下哪项有效?:
Run Code Online (Sandbox Code Playgroud)1. ArrayList al1 = new ArrayList(); 2. ArrayList al2 = new ArrayList<>(); 3. ArrayList<> al3 = new ArrayList<>(); 4. ArrayList<Double> al4 = new ArrayList<>(); 5. ArrayList<Double> al5 = new ArrayList<Float>();
根据我的书,答案1,2和4是有效的.答案3和5无效.
但是,没有给出适当的解释.它所做的就是显示声明ArrayList的标准方法:
ArrayList<E> al3 = new ArrayList<E>();
Run Code Online (Sandbox Code Playgroud)
并且提到声明没有通用部分的ArrayList也是有效的.
我也无法在网上找到关于这个主题的好文章.有人可以解释(或指向一篇好文章的方向)上面的不同排列吗?
提前致谢.
Path和Paths之间的交互似乎很简单.使用Paths get()方法获取Path对象.然后,您可以使用Path的方法:
Path p = Paths.get("C:\\directory\\filename.txt");
p.getFilename();
p.getRoot();
p.getParent();
etc...
Run Code Online (Sandbox Code Playgroud)
令我困惑的是,Java文档将Path描述为一个接口.通常来说,接口只是方法签名的集合,您需要在任何声明它通过implements关键字使用它的类中实现它们.
但是,在Path的情况下,没有使用"implements"关键字,也没有实现这些方法.他们已经预定义了.
我显然在某个地方得到了错误的结局.有人可以解释一下我误解了什么吗?