Saya seorang pemula Java. Saya mencoba mencari tahu apakah suatu angka adalah Double dengan sesuatu seperti ini:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
Akan sangat menghargai jika seseorang dapat memberi tahu saya cara mengatur ulang sintaks agar ini berfungsi dengan benar.
object o = new object(); Type t = typeof(o);
melempar pesan kesalahan compilero is a variable but is used like a type
. Nama pertanyaan ini menyesatkan ...Object#GetType()
metode, yang mengembalikan aType
. Itu kemudian dapat digunakan untuk membandingkantypeof()
. Dalam kasus ini, itu akan terjadiitems.elementAt(1).GetType() == typeof(double)
.Jawaban:
Coba ini:
sumber
elementAt(0)
; mayoritas item di Java berbasis nol.Karena ini adalah pertanyaan pertama dari Google, saya akan menambahkan
typeof
alternatif gaya JavaScript di sini juga:sumber
Refleksi lebih lambat, tetapi berfungsi untuk situasi ketika Anda ingin tahu apakah itu dari tipe Anjing atau Kucing dan bukan instance dari Hewan. Jadi Anda akan melakukan sesuatu seperti:
Tidak mengatakan jawaban di atas tidak berfungsi, kecuali bagian pemeriksaan nol diperlukan.
Cara lain untuk menjawabnya adalah gunakan obat generik dan Anda dijamin memiliki Double sebagai elemen item apa pun.
sumber
.getClass().toString()
karena saya tidak dapat mengimpor kelas karena ketidaksesuaian ketergantungan satu arah. Terima kasih.Gunakan ekspresi reguler untuk mencapai tugas ini. Silakan lihat kode di bawah ini.
sumber