Kullanabilirsiniz instanceof.
RelationalExpression:
RelationalExpression instanceof ReferenceType
Çalışma zamanında, sonucu instanceofoperatörü olan truedeğeri ise RelationalExpression değildir nullve referans için gölgeleri olabilir ReferenceType bir artırmadan ClassCastException. Aksi takdirde sonuç olur false.
Bu, bunun gibi bir şey yapabileceğiniz anlamına gelir:
Object o = new int[] { 1,2 };
System.out.println(o instanceof int[]); // prints "true"
Sen nesne bir olup olmadığını kontrol etmek olurdu instanceof boolean[], byte[], short[], char[], int[], long[], float[], double[], veya Object[], tüm dizi türlerini tespit etmek istiyorum.
Ayrıca, an int[][]birdir instanceof Object[], dolayısıyla iç içe dizileri nasıl işlemek istediğinize bağlı olarak karmaşıklaşabilir.
İçin toString, java.util.Arraysbir sahip toString(int[])ve kullanabileceğiniz diğer aşırı yüklenmeleri. deepToString(Object[])İç içe diziler için de vardır .
public String toString(Object arr) {
if (arr instanceof int[]) {
return Arrays.toString((int[]) arr);
} else //...
}
Çok tekrarlı olacak (ama hatta java.util.Arraysçok tekrarlayıcı ), ama dizilerle Java'da durum budur.
Ayrıca bakınız
obj.getClass().getComponentType().