2012-12-22 40 views
0
import java.util.ArrayList; 

public class Tester { 
    public static void main(String[] args) { 
     ArrayList<Comparable> Aria = new ArrayList<Comparable>(); 
     Aria.add(new Integer(1)); 
    } 
} 

嘿,伙计们。这是我的整个班级测试人员。我想输入一个整数到一个Comparable ArrayList中。然而,我收到一个错误,指出:method ArrayList.add(int, Comparable) is not applicable (actual and formal arguments differ in lengths of list) method ArrayList.add(Comparable) is not applicable (actual argument Integer cannot be converted to Comparable by method invocation conversion).实际和正式参数列表的长度不同?

我的朋友在他的电脑上试过这个,它的工作没有错误。感谢您的帮助!

回答

1

为什么要ComparableArrayList?你想要一个排序集(TreeSet<Integer>)?否则它没有任何意义(在我看来,尽管可能有一个情况是有道理的)。毕竟,您不能本地比较IntegerString(均为Comparable)。如果你想要一个ArrayList的任何类型的对象,只需使它ArrayList<Object>

如果Comparable不是必需的,只是让你的定义:

ArrayList<Integer> Aria = new ArrayList<Integer>(); 
0

可比是一个泛型类型,所以

ArrayList<Comparable<?>> Aria = new ArrayList<Comparable<?>>(); 
相关问题