사용할 수 있습니다 instanceof.
RelationalExpression:
RelationalExpression instanceof ReferenceType
런타임에 instanceof연산자 의 결과 true는 RelationalExpression 의 값 이 아닌 경우 null이고 참조 는를 발생시키지 않고 ReferenceType 으로 캐스팅 될 수 있습니다 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[], 당신은 모든 배열 유형을 감지합니다.
또한 an 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().