使用できますinstanceof
。
RelationalExpression:
RelationalExpression instanceof ReferenceType
実行時に、RelationalExpressionの値instanceof
がtrue
そうではなく、参照をを発生させずにReferenceTypeにキャストできる場合、演算子の結果は次のとおりです。それ以外の場合の結果はです。null
ClassCastException
false
つまり、次のようなことができます。
Object o = new int[] { 1,2 };
System.out.println(o instanceof int[]); // prints "true"
あなたは、オブジェクトがあるかどうかを確認する必要があるだろうinstanceof boolean[]
、byte[]
、short[]
、char[]
、int[]
、long[]
、float[]
、double[]
、またはObject[]
、あなたはすべての配列型を検出したい場合。
また、int[][]
はinstanceof Object[]
なので、ネストされた配列の処理方法によっては、複雑になる場合があります。
以下のためにtoString
、java.util.Arrays
持っているtoString(int[])
あなたが使用することができますし、他のオーバーロードを。deepToString(Object[])
ネストされた配列にも使用できます。
public String toString(Object arr) {
if (arr instanceof int[]) {
return Arrays.toString((int[]) arr);
} else //...
}
これjava.util.Arrays
は非常に反復的です(ただし、非常に反復的です)が、配列を使用したJavaの場合と同じです。
こちらもご覧ください
obj.getClass().getComponentType()
。