在Java 7之前,下面的语法用于创建ArrayList,
ArrayList<Integer> ints = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5,6,7));
Run Code Online (Sandbox Code Playgroud)
但是从Java 7开始我们可以省略构造函数中的泛型类型,即:
ArrayList<Integer> ints = new ArrayList<>(Arrays.asList(1,2,3,4,5,6,7));
Run Code Online (Sandbox Code Playgroud)
但当我尝试做类似的事情时,
ArrayList<Number> nums = new ArrayList<>(Arrays.asList(1,2,3,4,4,5.5,6.6,7.7));
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,但是当我在右侧提到通用类型时,即
ArrayList<Number> nums = new ArrayList<Number>(Arrays.asList(1,2,3,4,5.5,6.6,7.7));
Run Code Online (Sandbox Code Playgroud)
代码完美无缺.这背后的原因是什么?
提前致谢.
parseInt(0.000004); //0
parseInt(0.0000004); //4
Run Code Online (Sandbox Code Playgroud)
为什么第一个parseInt()返回0,但如果我增加十进制后的零数,则给出4?