实际和正式参数列表的长度不同?

时间:2012-12-22 03:56:39

标签: java arraylist comparable

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).

我的朋友在他的电脑上尝试了这个,它没有错误。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

为什么要ArrayList Comparable?你想要一个有序集(TreeSet<Integer>)吗?否则它没有意义(在我看来,虽然可能有一个合理的情况)。毕竟,您可以原生地比较IntegerString(两者都是Comparable)。如果您想要ArrayList任何类型的对象,只需将其设为ArrayList<Object>

如果Comparable不是必需的,只需进行定义:

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

答案 1 :(得分:0)

Comparable是泛型类型,所以

ArrayList<Comparable<?>> Aria = new ArrayList<Comparable<?>>();