Anda bisa menggunakan instanceof.
RelationalExpression:
RelationalExpression instanceof ReferenceType
Pada waktu berjalan, hasil dari instanceofoperator adalah truejika nilai RelationalExpression tidak nulldan referensi dapat dikirim ke ReferenceType tanpa menaikkan a ClassCastException. Jika tidak, hasilnya adalah false.
Artinya, Anda dapat melakukan sesuatu seperti ini:
Object o = new int[] { 1,2 };
System.out.println(o instanceof int[]); // prints "true"
Anda harus memeriksa apakah objek adalah instanceof boolean[], byte[], short[], char[], int[], long[], float[], double[], atau Object[], jika Anda ingin mendeteksi semua jenis larik.
Juga, an int[][]adalah an instanceof Object[], jadi tergantung bagaimana Anda ingin menangani array bersarang, ini bisa menjadi rumit.
Untuk toString, java.util.Arraysmemiliki toString(int[])dan kelebihan lainnya yang dapat Anda gunakan. Ini juga memiliki deepToString(Object[])untuk array bersarang.
public String toString(Object arr) {
if (arr instanceof int[]) {
return Arrays.toString((int[]) arr);
} else //...
}
Ini akan menjadi sangat berulang (tetapi bahkan java.util.Arrayssangat berulang ), tapi begitulah di Java dengan array.
Lihat juga
obj.getClass().getComponentType().