Sequenz
Dieser Artikel enthält hauptsächlich einige Beispiele, wie Kotlin den Java -Code verbessern kann
String -Literale und Vorlagen
String buchstäblicher Wert
@Test Fun testStringLiterals () {val a = "" "if (a> 1) {| return a |}" ". Trimmargin () println (a) val b =" "foo bal" "". Trimindent () println (b)}}Mit String -Literalen müssen Sie nicht so viel Anstrengungen unternehmen, um Strings zu spleißen, wenn Sie SQL schreiben.
String -Vorlage
@Test Fun TestStringtemplate () {val name = "Hallo Kotlin" println ("Hallo, $ name!"); val data = listof (1,2,3) println ("Hallo, $ {data [0]}!")}Diese String-Vorlage ist noch leistungsfähiger, entspricht einem eingebauten Freimaurer und muss nicht manuell variable Werte übergeben
Holen Sie sich den aktuellen Index in der für Schleife
@Test Fun testforeachIndex () {val items = listof ("Apple", "Banana", "kiwifRuit") für (index in iNDILS.indices) {println ("Element bei $ index ist $ {ideen [index]}")}}Wenn Sie in Java für jede Schleife den Index erhalten möchten, müssen Sie den Index außen deklarieren und ihn selbst zählen. Es ist zu umständlich
Datenklasse
// Getter/Setter, Equals, HashCode, ToString, Copy usw. generieren.
Java erklärt immer Getter/Setter. Der Vorteil ist, dass Sie diese Methoden in der IDE finden können, die Getter/Setter aufrufen.
Obwohl Lombok automatisch Getter/Setter generieren kann und die @data -Annotation auch gleiche/HashCode -Methoden generieren kann, ist Lombok nicht bequem, diese Methoden in der IDE zu finden, die Getter/Setter aufrufen. Die Datenklasse von Kotlin hilft Ihnen, diese Probleme zu lösen
Nullsicherheit
@Test Fun testifnotnull () {val file = file ("test"). ListFiles () println (Dateien?Diese Nullsicherheit ist so nützlich, dass sie etwas präzise ist als Javas ternärer Ausdruck. Wenn der Ausdruck wahr ist, müssen Sie den Inhalt nicht wiederholen, um zurückgegeben zu werden, und schreiben Sie einfach den anderen Teil.
Die Sicherheit der Null ist nützlicher, wenn sie Streaming-/Kettenaufrufe
// Wenn einer von "Person" oder "Person.Department" leer ist, wird die Funktion nicht genannt: Person?.
Zusammenfassung
Dieser Artikel enthält nur einige Beispiele für Kotlin, die den Java -Code verbessern können. Kotlin ist zu mächtig und das Ziel ist es, Java zu ersetzen. Viele der Designs können den Schatten von Scala sehen, aber es gibt auch viele schwarze Magie, und die Lernkurve ist ein wenig zitternd, aber es ist in Ordnung, wenn Sie keine zu fortgeschrittene Grammatik verwenden.
Verwandte Referenz: https://www.kotlincn.net/docs/reference/