【发布时间】:2019-12-09 06:50:00
【问题描述】:
ArrayList<String> animals = new ArrayList<>() 和 ArrayList<String> animals = new ArrayList<String>() 有什么区别?我很困惑。
【问题讨论】:
-
第一个较短,因为可以自动推断类型。
ArrayList<String> animals = new ArrayList<>() 和 ArrayList<String> animals = new ArrayList<String>() 有什么区别?我很困惑。
【问题讨论】:
两者实际上是相同的。 在 Java 5 中引入泛型时,我们不得不使用
ArrayList<String> animals = new ArrayList<String>();
当 Java 7 到来时,它提供的功能之一是支持更短的形式:
ArrayList<String> animals = new ArrayList<>();
因此,如果您使用的是 Java 7+,则可以同时使用两者(当然首选较短的形式)
【讨论】:
没有区别,如果你使用java 1.6或更早的版本你应该这样写你的代码
ArrayList<String> animals = new ArrayList<String>();
但在 java 1.6 之后,它会推断类型,您可以只用菱形 <> 编写代码。
ArrayList<String> animals = new ArrayList<>();
【讨论】: