类java.util.ArrayList <e> </e>的那些方法的类型是什么

时间:2015-02-11 05:18:20

标签: java

类java.util.ArrayList的方法:

public E set(int index, E anEntry)
public boolean add(E anEntry)
public E remove(int index).

这些方法的类型是什么?我的猜测太荒谬了,不能在这里发帖......

4 个答案:

答案 0 :(得分:1)

List<String> list1 = new ArrayList<String>(); // E here is String

List<Integer> list2 = new ArrayList<Integer>(); // E in this case would be Integer

因此,当您声明或实例化ArrayList时,E表示类型。这对编译时类型检查非常有用。由于您无法添加除您创建的对象之外的任何其他类型的对象。

示例

List<String> list1 = new ArrayList<String>(); //if by mistake you try to add an 
                 //Integer object, it will give you a compile time error.
list1.add(new Integer(2)); // compile time error

阅读:http://docs.oracle.com/javase/tutorial/java/generics/why.html

答案 1 :(得分:1)

如果有一个名为E的类,它意味着完全相同的事情。

set是一种采用int(称为index),E(称为anEntry)并返回另一个E的方法

add是一种采用E(称为anEntry)并返回boolean的方法。

remove是一种采用int(称为index)并返回E的方法。

现在,在这种情况下,E不是一个类 - 它是所谓的类型参数。如果您查看ArrayList的第一行,您会看到类似的内容:

public class ArrayList<E>

E声明为ArrayList的类型参数。当您谈论ArrayList<String>时,E表示String。当您谈论ArrayList<Integer>时,E表示Integer。通过这种方式,它们与普通方法参数类似 - 如果您有void x(int i),那么当您致电x(5)时,i包含5。当您致电x(42)时,i包含42

答案 2 :(得分:0)

  1. E表示存储在ArrayList中的Object类型。例如,它可以是&#39; String&#39;,&#39;整数&#39;的ArrayList。等等 如果使用ArrayList<String>,则返回String。
  2. add()返回布尔类型(true或false)。

答案 3 :(得分:0)

在这种情况下,

E指的是泛型。 在面向对象编程中,泛型类型用于创建可以处理任何数据类型的类。这是一个简单的解释,虽然泛型是一个非常深入的主题,应该给你一个足够好的概述。

http://docs.oracle.com/javase/tutorial/java/generics/