在Java中我想查找对象是否是对象集合?
String [] abc=new String[]{"Joe","John"};
Object ob=abc;
我想检查变量ob持有对象集合?我怎么能这样做?
答案 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) {
// ...
}