Kotlin ถูกนำมาใช้ในการพัฒนา Android โดยพิจารณาจากการปรับปรุงหลายประการใน Kotlin เทียบกับ Java เช่น:
จำนวนบรรทัดโค้ดน้อยลง และพัฒนาได้ง่ายขึ้นด้วยฟังก์ชันเดียวกัน
Java: TextView displayText = (TextView) findViewById(R.id.textView); displayText.setText("Hello World");
Kotlin: textView.setText("Hello World")
จัดการ Null Pointer Exception ที่ compile-time
var value: String = "abc" // compilation error value = null
ใช้ Data class แทน POJO
data class User(val name: String, val age: Int)
ต่อไปนี้คือความแตกต่างที่สำคัญระหว่าง Java และ Kotlin
| ลำดับ | คีย์ | Java | Kotlin |
|---|---|---|---|
| 1 | ข้อยกเว้น (Exceptions) | Java ใช้ checked exceptions สำหรับการจัดการข้อยกเว้น | Kotlin ไม่มี checked exception มันโยน compile-time errors แทน |
| 2 | การจัดการ Null | Java ไม่บังคับการตรวจสอบ null ดังนั้น null pointer exception เกิดขึ้นเมื่อโค้ดไม่จัดการ null | Kotlin บังคับการตรวจสอบ null ที่ compile time |
| 3 | ฟิลด์ที่ไม่ใช่ Private | Java constructs มีฟิลด์ที่ไม่ใช่ private | Kotlin ไม่อนุญาตให้มีฟิลด์ที่ไม่ใช่ private ใน constructs ของมัน |
| 4 | อาร์เรย์ (Arrays) | Java arrays เป็น covariant | Kotlin arrays เป็น invariant |
| 5 | ตัวดำเนินการ Ternary | Java มีตัวดำเนินการ ternary | Kotlin ไรองรับตัวดำเนินการ ternary |