Javaでは、オブジェクトがオブジェクトコレクションかどうかを調べたい??
String [] abc=new String[]{"Joe","John"};
Object ob=abc;
変数オブジェクトがオブジェクトコレクションを保持していることを確認したい??どうすればこれを行うことができますか??
次のように、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{...}
最初のチェックは、次の配列です。
boolean isArray = ob.getClass().isArray();
また
if (ob instanceof Object[]) {
// ...
}
java.util.Collection
チェックされていない場合は、instanceof とインターフェイスでチェックして、コレクションであるかどうかを確認します。
if (ob instanceof Collection) {
// ...
}
あなたの例から、チェックする必要があるのは、より正確には、コレクションではなくオブジェクト配列です。
次のようなものを試すことができます
String [] abc=new String[]{"Joe","John"};
Object ob=abc;
if (ob instanceof Object[]) {
// do something
}