urutan
Artikel ini terutama memberikan beberapa contoh bagaimana Kotlin dapat meningkatkan kode Java
String literal dan template
Nilai literal string
@Test fun testStringLiterals () {val a = "" "if (a> 1) {| return a |}" "". Trimmargin () println (a) val b = "" "foo bar" "". Trimindent () println (b)}Dengan string literal, Anda tidak perlu melakukan banyak upaya untuk menyambungkan string jika Anda menulis SQL.
Template String
@Test fun testStringTemplate () {val name = "Hello Kotlin" println ("Halo, $ name!"); val data = listof (1,2,3) println ("halo, $ {data [0]}!")}Templat string ini bahkan lebih kuat, setara dengan freemarker bawaan, dan tidak perlu melewati nilai variabel secara manual
Dapatkan indeks saat ini di loop untuk
@Test fun testforeachindex () {val items = listOf ("apple", "pisang", "kiwifruit") untuk (index in items.indices) {println ("item at $ index adalah $ {item [index]}")}}Di Java, jika Anda ingin mendapatkan indeks untuk setiap loop, Anda harus menyatakan indeks di luar dan menghitungnya sendiri. Itu terlalu canggung
Kelas Data
// Hasilkan Getter/Setter, Equals, HashCode, ToString, Salin, dll.
Java selalu menyatakan Getter/Setter. Keuntungannya adalah Anda dapat menemukan metode -metode tersebut di IDE yang memanggil Getter/Setter;
Meskipun Lombok dapat secara otomatis menghasilkan Getter/Setter, dan anotasi @Data juga dapat menghasilkan metode kode yang sama/hashcode, Lombok tidak nyaman untuk menemukan metode tersebut di IDE, yang memanggil Getter/Setter; Kelas data Kotlin membantu Anda menyelesaikan masalah ini
Keselamatan nol
@Test fun testifnotnull () {val file = file ("test"). ListFiles () println (file? .Size) // null} @test fun testIfnotnullandelse () {val file = file ("test"). ListFiles () println (file? .Size?Keselamatan nol ini sangat berguna, agak ringkas daripada ekspresi terner Java. Ketika ekspresi itu benar, Anda tidak perlu mengulangi konten yang akan dikembalikan, tulis saja bagian yang lain.
Keselamatan nol lebih berguna saat streaming/rantai panggilan
// Jika salah satu dari `person` atau` orang.
ringkasan
Artikel ini hanya memberikan beberapa contoh Kotlin yang dapat meningkatkan kode Java. Kotlin terlalu kuat dan tujuannya adalah untuk menggantikan Java. Banyak desain dapat melihat bayangan Scala, tetapi ada juga banyak sihir hitam, dan kurva belajar sedikit bergetar, tetapi tidak apa -apa jika Anda tidak menggunakan tata bahasa yang terlalu canggih.
Referensi Terkait: https://www.kotlincn.net/docs/reference/