如何检查对象是否包含对象集合

时间:2013-01-25 06:31:38

标签: java object

在Java中我想查找对象是否是对象集合?

String [] abc=new String[]{"Joe","John"};
Object ob=abc;

我想检查变量ob持有对象集合?我怎么能这样做?

4 个答案:

答案 0 :(得分:2)

您可以使用Java反射,如下所示:

Class<?> clazz = ob.getClass();
boolean isArray = clazz.isArray();

答案 1 :(得分:1)

instanceof运营商核实。

  

instanceof运算符将对象与指定类型进行比较。您可以使用它来测试对象是类的实例,子类的实例,还是实现特定接口的类的实例。   reference

String [] abc=new String[]{"Joe","John"};
Object ob=abc;
...
if(ob instanceof String[]){
   String[] str = (String[])ob;
}else{...}

答案 2 :(得分:0)

从您的示例中,您需要检查的更准确地说是对象数组而不是集合。

您可以尝试类似

的内容
String [] abc=new String[]{"Joe","John"}; 
Object ob=abc;
if (ob instanceof Object[]) {
  // do something
}

答案 3 :(得分:0)

首先检查是一个数组:

boolean isArray = ob.getClass().isArray();

if (ob instanceof Object[]) {

  // ...

}

如果不是,则通过使用instanceof和java.util.Collection interface:

进行检查来检查它是否为集合
if (ob instanceof Collection) {

  // ...

}