在Java中我想知道对象是否是一个对象集合??
String [] abc=new String[]{"Joe","John"};
Object ob=abc;
我想检查变量 ob 持有对象集合?我该怎么做?
您可以使用 Java 反射,如下所示:
Class<?> clazz = ob.getClass();
boolean isArray = clazz.isArray();
与instanceof
操作员核对。
instanceof 运算符将对象与指定类型进行比较。您可以使用它来测试对象是类的实例、子类的实例还是实现特定接口的类的实例。 参考
String [] abc=new String[]{"Joe","John"};
Object ob=abc;
...
if(ob instanceof String[]){
String[] str = (String[])ob;
}else{...}
从您的示例中,您需要更准确地检查对象数组而不是集合。
你可以尝试类似的东西
String [] abc=new String[]{"Joe","John"};
Object ob=abc;
if (ob instanceof Object[]) {
// do something
}
首先检查它是否是一个数组:
boolean isArray = ob.getClass().isArray();
或者
if (ob instanceof Object[]) {
// ...
}
如果不通过检查 instanceof 和java.util.Collection
接口检查它是不是一个集合:
if (ob instanceof Collection) {
// ...
}