Operator is dan as
Pemeriksaan dan pengubahan tipe
Operator is dan as adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.
Memeriksa dan Memerankan Tipe
Kotlin menyediakan dua operator untuk bekerja dengan tipe saat waktu berjalan:
ismemeriksa apakah suatu nilai memiliki tipe tertentuasmemerankan suatu nilai ke tipe tertentu
Keduanya memiliki varian aman yang akan Anda pelajari di sini.
Operator is
is mengembalikan boolean yang memberi tahu Anda apakah suatu nilai cocok dengan tipe tertentu.
Operator ini menjadi dasar bagi pemeran cerdas.
fun main() {
val x: Any = "hello"
println(x is String)
println(x is Int)
}Pemeriksaan Negasi dengan !is
Gunakan !is untuk menguji bahwa suatu nilai BUKAN tipe tertentu.
Penulisan ini terbaca secara alami dalam klausa penjaga.
fun main() {
val x: Any = 42
if (x !is String) {
println("not a string")
}
}Operator as
as melakukan pemeranan eksplisit. Jika nilai tersebut memang memiliki tipe itu, Anda mendapatkannya kembali dengan tipe yang benar.
Gunakan operator ini saat kompiler tidak dapat menyimpulkan tipenya sendiri.
fun main() {
val x: Any = "hello"
val s = x as String
println(s.length)
}Saat as Gagal
Jika nilai tersebut bukan tipe target, as akan melempar ClassCastException.
Ini adalah varian yang tidak aman, jadi gunakan hanya jika Anda benar-benar yakin.
fun main() {
val x: Any = 42
try {
val s = x as String
println(s)
} catch (e: ClassCastException) {
println("Cannot cast Int to String")
}
}Pemeranan Aman as?
as? adalah pemeranan aman. Operator ini mengembalikan nilai yang diperankan ke tipe tersebut, atau null jika pemeranan tidak mungkin dilakukan.
Tidak ada pengecualian yang dilempar.
fun main() {
val x: Any = 42
val s = x as? String
println(s)
}Pemeranan Aman dengan Elvis
Padukan as? dengan Elvis untuk menyediakan cadangan saat pemeranan gagal.
Ini merupakan pola yang rapi dan bebas kerusakan.
fun main() {
val x: Any = 42
val s = (x as? String) ?: "default"
println(s)
}is Menggerakkan Pemeran Cerdas
Setelah pemeriksaan is, biasanya Anda tidak memerlukan as sama sekali karena pemeran cerdas mulai bekerja.
Gunakan as eksplisit hanya saat pemeran cerdas tidak dapat diterapkan.
fun main() {
val x: Any = "smart"
if (x is String) {
println(x.uppercase()) // smart cast, no as needed
}
}Pemeranan dalam Koleksi
Pemeranan aman berguna saat memfilter koleksi campuran.
filterIsInstance menggunakan is secara internal untuk hanya mempertahankan elemen yang cocok.
fun main() {
val items: List<Any> = listOf(1, "two", 3, "four")
val strings = items.filterIsInstance<String>()
println(strings)
}Memilih Operator yang Tepat
Panduan singkat:
- Memerlukan boolean? gunakan
is - Yakin dengan tipenya? gunakan
as - Tidak yakin? gunakan
as?dengan cadangan
fun describe(x: Any): String {
val text = x as? String ?: return "not text"
return "text of length " + text.length
}
fun main() {
println(describe("hello"))
println(describe(99))
}Menyatukan Semuanya
Operator tipe memberi Anda kendali penuh:
is/!ismemeriksa tipeasmelakukan pemeranan, tetapi dapat melempar pengecualianas?melakukan pemeranan dengan aman dan mengembalikan null saat gagal
fun main() {
val values: List<Any> = listOf(1, "hi", 2.5)
for (v in values) {
when {
v is Int -> println("int " + v)
v is String -> println("string " + v)
else -> println("other")
}
}
}Pemeriksaan Singkat
Uji pemahaman Anda tentang is dan as.
Rangkuman
Anda telah mempelajari operator tipe:
isdan!isuntuk pemeriksaan tipeasuntuk pemeranan yang dapat melempar pengecualianas?untuk pemeranan aman yang mengembalikan null
Selanjutnya, Anda akan membuat when mencakup semua kemungkinan untuk menangani setiap kasus.
Belajar Kotlin dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Operator is dan as” gratis?
Ya — teks lengkap “Operator is dan as” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Operator is dan as”?
Pemeriksaan dan pengubahan tipe Kamu berlatih Kotlin Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Kotlin Academy?
Tidak diperlukan pengalaman sebelumnya. Kotlin Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Operator is dan as” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Academy ini?
Ya. Setiap pelajaran Kotlin Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- when sebagai Ekspresi
- Pemeriksaan Cerdas
- Operator is dan as
- when Menyeluruh