在java中,如果ArrayList中的对象是double类型。什么方法检查并返回一个布尔值,告诉我对象是否属于特定的动态类型?
这样的事情:
pseudo code:
if(bid.get(i) is double )
{
return bid.get(i);
}
答案 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);
}