相关疑难解决方法(0)

在Java中键入List vs type ArrayList

(1) List<?> myList = new ArrayList<?>();

(2) ArrayList<?> myList = new ArrayList<?>();
Run Code Online (Sandbox Code Playgroud)

我理解,使用(1),可以交换List接口的实现.似乎(1)通常在应用程序中使用而不管需要(我自己总是使用它).

我想知道是否有人使用(2)?

此外,经常(并且我可以得到一个例子)情况实际上需要使用(1)over(2)(即where(2)不足以对接口最佳实践等进行编码)

java interface list decoupling

537
推荐指数
11
解决办法
39万
查看次数

什么是List与ArrayList?

这两个对象之间的根本区别是什么?一个更有效率?有没有更多的方法?

java list arraylist

24
推荐指数
3
解决办法
6万
查看次数

Java List vs ArrayList

作为一个C++老朋友,我设法解决了我的问题,但我不能在这里围绕底层Java机制:

Vector<Object> x = new Vector<Object>();        // OK
ArrayList<Object> y = new ArrayList<Object>();  // OK
List<Object> zzz = new ArrayList<Object>();     // OK solves problem below but question remains
List<Object> z = new List<Object>();            // WHY? Compiler error: Cannot instantiate 
Run Code Online (Sandbox Code Playgroud)

java generics

8
推荐指数
2
解决办法
7703
查看次数

Array和ArrayList之间的性能或内存消耗差异

我发现ArrayList通过在日常编码中使用数组而不是使用数组,我几乎可以轻松地完成任何操作并且可以进行更多控制.所以我问:

  1. 如果我可以使用它,是否适合避免阵列ArrayList
  2. 当我用一个数组替换一个数组时,我需要考虑一下内存ArrayList吗?

java performance arraylist

6
推荐指数
1
解决办法
8960
查看次数

将ArrayList分配给List

以下两行之间是否存在差异?

 ArrayList<String> arrName =  new ArrayList<String>();
 List<String>      arrName =  new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

谢谢你的答复

java

5
推荐指数
1
解决办法
2630
查看次数

“ List &lt;Integer&gt; list = new ArrayList &lt;Integer&gt;();”的实际含义是什么?

我对Java很陌生,我想知道这实际上意味着什么:

List<Integer> list = new ArrayList<Integer>(); //Example 1
Run Code Online (Sandbox Code Playgroud)

为了将这个问题与其他问题区分开,我已经阅读了有关多态性以及示例1和示例2之间的区别的文章,并且我了解示例1允许“编程接口”。我还了解到,使用示例1,可以轻松将列表更改为LinkedList,而不会影响其余代码。

ArrayList<Integer> list = new ArrayList<Integer>(); //Example 2
Run Code Online (Sandbox Code Playgroud)

但是我想知道示例1的实际含义。是否创建一个新列表?还是创建一个新的ArrayList?结果对象是否具有列表的属性?还是生成的对象具有ArrayList的属性?我可以实现ArrayList在列表上使用的方法而没有编译错误吗?

这是我第一次发布问题,所以请让我知道是否可以进行任何改进。

java list arraylist

3
推荐指数
1
解决办法
1万
查看次数

List vs ArrayList

List<EventHandler<E>> listeners = new List<EventHandler<E>>();
Run Code Online (Sandbox Code Playgroud)

为什么上面的行失败了:

无法实例化该类型 List<EventHandler<E>>

但是这个有效:

ArrayList<EventHandler<E>> listeners = new ArrayList<EventHandler<E>>();
Run Code Online (Sandbox Code Playgroud)

java generics

1
推荐指数
3
解决办法
1万
查看次数

标签 统计

java ×7

arraylist ×3

list ×3

generics ×2

decoupling ×1

interface ×1

performance ×1