介绍性问题即将到来!以下代码...
public class HelloWorld
{
public static void main(String[] args)
{
ArrayList<Object> A = new ArrayList<Object>();
Integer I = new Integer(3);
Double D = new Double(3.14);
A.add(I);
A.add(D);
if (A.get(0) > 2)
{
System.out.print("Hello World");
}
}
}
。编译失败
bad operand types for binary operator '>'
if (A.get(0) > 2)
^
first type: Object
second type: int
我如何表明我希望与子类Integer
进行比较,而不是与Object
进行比较?
由于Integer
和Double
都扩展Number
然后将您的 ArrayList 重新定义为
ArrayList<Number> A = new ArrayList<Number>();
然后
if (A.get(0).intValue () > 2)