Java检查容器中对象的类型

时间:2015-05-27 06:30:26

标签: java arraylist

在java中,如果ArrayList中的对象是double类型。什么方法检查并返回一个布尔值,告诉我对象是否属于特定的动态类型?

这样的事情:

  pseudo code:
         if(bid.get(i) is double )
              {

               return bid.get(i);
              }

4 个答案:

答案 0 :(得分:0)

ArrayList可以保留Double,但不能保存double s(Java Collections不能直接保存原始类型)。

你可以写:

if (bid.get(i) instanceof  Double)

答案 1 :(得分:0)

您可以使用instanceof运算符:

if (bid.get(i) instanceof Double) {
    return bid.get(i);
}

请注意,这仅适用于对象类型,因此您可以检查Double s(即java.lang.Double个实例),但不能检查原始double。然后,当您将double添加到List时,它会自动退回到Double,因此我猜测这种区别并不重要你。

答案 2 :(得分:0)

如果您使用的是java 5或更高版本。你可以使用泛型并将你的arraylist声明为ArrayList<Double>,它将确保它只包含Double引用并且会阻止你进行显式类型转换。 但是,如果您有任何约束,那么您可以使用instanceOf运算符。

答案 3 :(得分:0)

试试这个 -

if (bid.get(i) instanceof Double) {
    return bid.get(i);
}