Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList与lt;字符串>;和ArrayList<>;?_Java_Performance_Arraylist_Compilation - Fatal编程技术网

Java ArrayList与lt;字符串>;和ArrayList<>;?

Java ArrayList与lt;字符串>;和ArrayList<>;?,java,performance,arraylist,compilation,Java,Performance,Arraylist,Compilation,1: private List blacklist=new ArrayList(); 2: private List blacklist=new ArrayList(); 使用第一个或第二个语句在编译时间或纳秒性能方面有什么优势吗?这两个语句在语义上是相同的。 第二个示例使用Java7中的菱形运算符,因此在编译时会稍微慢一点。在运行时,它们将具有完全相同的性能,因为泛型信息将被完全删除。没有区别。在第二种情况下,编译器推断ArrayList的泛型类型后者是Java 7+,而另一个不是。以纳秒

1:

private List blacklist=new ArrayList();
2:

private List blacklist=new ArrayList();

使用第一个或第二个语句在编译时间或纳秒性能方面有什么优势吗?

这两个语句在语义上是相同的。


第二个示例使用Java7中的菱形运算符,因此在编译时会稍微慢一点。在运行时,它们将具有完全相同的性能,因为泛型信息将被完全删除。

没有区别。在第二种情况下,编译器推断
ArrayList

的泛型类型后者是Java 7+,而另一个不是。以纳秒为单位的性能?那么你想获得1纳秒?在编译时?还有,@DaveNewton,第一个也是Java7+@OlivierGrégoire澄清了迂腐的说法。你可能不会注意到编译时间“稍微慢一点”。菱形运算符是编译器的一个简单类型推断功能。不一定,它有点复杂,因为您也可以使用通配符。
private List<String> blacklist = new ArrayList<String>();
private List<String> blacklist = new ArrayList<>();