当前位置: 首页 > 面试题库 >

Java中的List或ArrayList声明有哪些区别?

萧成文
2023-03-14
问题内容

我是Java新手。我想知道之间的区别:

List< String > list = new ArrayList<>();

ArrayList< String > list = new ArrayList<String>();

ArrayList< String > list = new ArrayList<>();

谢谢


问题答案:

第一个仅从Java 7开始有效,并且等效于

List<String> list = new ArrayList<String>();

只是不太冗长。

第三个相同,相当于

ArrayList<String> list = new ArrayList<String>();

因此严格等同于第二个。

出于以下问题的答案中提到的原因,您应该首选第一个:将列表与ArrayList作为引用类型?



 类似资料:
  • 问题内容: 这两个声明之间有什么区别? 宣言1: 宣言2: 问题答案: 这是通用的,您想在将实现细节返回给客户端时隐藏实现细节,以后可以将实现从透明地更改为。 在设计库等的情况下,此机制很有用,这些库可能会在某个时间点更改其实现详细信息,而对客户端的更改最少。 这是您始终需要返回的要求。在某些时候,如果您想将实现细节更改为,也应在客户端进行更改以代替。

  • 这两种声明之间有什么区别? 宣言1: 宣言2:

  • 问题内容: 我有一个带有包含泛型的参数的方法。 我想一个传递的s到这种方法。 是实现的接口。如何更改方法声明以允许这样做? 问题答案: 如果您使用的是Java 1.5版或更高版本,则可以使用通配符。 此解决方案较为通用,因为它适合的所有接口实现以及的子类/子接口。有关更多详细信息,请转到通配符教程。

  • 问题内容: 我想知道java集合API中上述两者之间的实际区别是什么。我是Java Collections API的新手。我知道List是ArrayList类实现的接口。 问题答案: 在你的声明1,因为你是指因为虽然它仍然是, 因此你可以使用在可用的方法唯一接口。如果您正在使用跨class.method功能,这是更好的声明。 同样,任何接受方法都可以接受任何实现类,例如或您的自定义实现类。 您的第

  • 问题内容: 我对这两个词感到非常困惑。我检查了stackoverflow,对于C ++有一个类似的问题,但对于Java没有。 有人可以解释一下Java的两个术语之间的区别吗? 问题答案: 概念上的区别很简单: 声明 :您 声明的 是某些东西,例如类,函数或变量。你不说任何事情 什么 是类或函数的样子,你刚才说,它的存在。 定义 :您 定义 某种事物的实现方式,例如类,函数或变量,即您说的 是 实际

  • 人们似乎在说malloc在使用数组时有多棒,当你不知道一个数组在编译时有多少元素时,你可以使用它(?)。没有malloc你就不能这么做吗?例如,如果我们知道一个字符串的最大长度为10,那么下面的结果是否足够接近同一事物?。。。除了能够释放内存之外。 和