Java检查容器中对象的类型
在java中,如果ArrayList中的对象是double类型。什么方法检查并返回一个布尔值来告诉我对象是否属于特定的动态类型 大概是这样的:Java检查容器中对象的类型,java,arraylist,Java,Arraylist,在java中,如果ArrayList中的对象是double类型。什么方法检查并返回一个布尔值来告诉我对象是否属于特定的动态类型 大概是这样的: pseudo code: if(bid.get(i) is double ) { return bid.get(i); } ArrayList可以保存Doubles,但不能保存Doubles(Java集合不能直接保存基元类型) 你可以写: if
pseudo code:
if(bid.get(i) is double )
{
return bid.get(i);
}
ArrayList
可以保存Double
s,但不能保存Double
s(Java集合不能直接保存基元类型)
你可以写:
if (bid.get(i) instanceof Double)
您可以使用
instanceof
运算符:
if (bid.get(i) instanceof Double) {
return bid.get(i);
}
注意,这只适用于对象类型,因此您可以检查
Double
s(即java.lang.Double
实例),但不适用于原语Double
s。同样,当您向列表添加double
时,它会自动装箱到double
,因此我猜这种区别对您来说并不重要。如果您使用的是java 5或更高版本。您可以使用泛型并将arraylist声明为arraylist
,这将确保它只包含双重引用,并防止显式类型转换。
但是如果您有任何限制,那么可以使用instanceOf
操作符。试试这个-
if (bid.get(i) instanceof Double) {
return bid.get(i);
}
bid.get(i)instanceof Double
“从头开始扫描”什么#get不“扫描”任何东西。我的坏汤姆-linkedList就是这样。不知怎的,我没有注意到。我现在把它拿出来了:)