6 Funktionen, die ich nach meiner Rückkehr von Scala nach Java verpasst habe

Einführung

Ich arbeite seit ungefähr zwei Jahren hauptsächlich an Scala, aber aus verschiedenen Gründen entwickle ich es zum ersten Mal seit einigen Jahren in Java, aber ich möchte die Funktionen zusammenfassen, die ich Scala verpasst habe.

Scala wird mit "Scala 2.12.x" und Java mit "Java 8" entwickelt. Dann wird es schnell kommen. (Da es sich um die Reihenfolge handelt, die ich mir ausgedacht habe, hat die Reihenfolge keine besondere Bedeutung.)

Typinferenz

Als ich Scala schrieb, habe ich die Arten von Variablen und Methoden weggelassen, die nicht nach außen gerichtet sind, aber Java lässt dies niemals zu. Zuerst konnte ich den Rhythmus des Schreibens überhaupt nicht verstehen. In Java 10 kann es in bestimmten Regeln weggelassen werden (?). Ich kannte Java überhaupt nicht, weil die Zeit seit Java 7 stehen geblieben war.

Gibt einen Wert mit if usw. zurück.

Ich war sehr dankbar, dass ich zu Java zurückgekehrt bin. Java hat einen ternären Operator, aber in den Projekten, an denen ich gearbeitet habe, war dies generell gesetzlich verboten.

Ich habe es so mit Scala geschrieben

val mode = if (Bedingter Ausdruck) "xxx" else "yyy"

Da Java keinen Wert zurückgeben kann

String mode;
if (Bedingter Ausdruck) {
  mode = "xxx";
} else {
  mode = "yyy";
}

Ist es so In der Vergangenheit war mir das überhaupt egal, aber es war sehr unangenehm, die Kultur der Neuzuweisung zu verlassen.

Verschiedene können weggelassen werden

Sie können verschiedene Dinge in Scala weglassen, aber die folgenden drei habe ich vergessen, am meisten zu schreiben, nachdem ich nach langer Zeit Java geschrieben habe. ; In jeder Zeile Die letzte Rückkehr der Methode Eine Methode ohne Argumente und ohne Nebenwirkungen ()

Geben Sie einen Alias ein

Java kann beim Import nicht umbenannt werden. Es ist also eine Schande, wenn dieselbe Klasse in einem anderen Paket verwendet wird. Als ich dachte, dass der Klassenname etwas Unangenehmes sei, konnte ich den Namen nicht ändern, also dachte ich, es sei eine sorgfältige Maßnahme und beschloss, ihn zu lesen.

Sind Variablen in Strings einzubetten

Das ist der eine. (Es heißt Interpolator)

val name = "James"
println(s"Hello, $name")

Ich bin nicht sicher, welche Art von Zeichenfolge generiert wird, nachdem Zeichenfolgen verkettet und mit Formatierer umbrochen wurden, oder ich verwende Format, aber ein Argument reicht nicht aus? Gibt es nicht viel? Ich hatte viele Probleme wie das Vergessen des Formats.

Es besteht keine Notwendigkeit, Zeichenfolgen zu entkommen

Es heißt Raw String Literal und ist eine Art Interpolator. Ich beschäftige mich wegen meiner Arbeit oft mit Json, aber ich kann es als Scala schreiben.

val json = """
{
  "id": "12345",
  "name": "James"
}
"""

Mit Java ...

String json = "{\n"
        + "  \"id\": \"12345\",\n"
        + "  \"name\": \"James\"\n"
        + "}";

Es ist schwer. .. .. Sie haben keine andere Wahl, als Json in den Editor zu schreiben und in Intellij einzufügen. (Es wurde gespeichert, weil es automatisch maskiert wurde, als ich es ohne Verwendung eingefügt habe.)

Schließlich

Es gab viele andere Dinge, aber ich habe es vergessen, weil es zu viel Kampf gegen Nebenwirkungen gab. Ich werde weiterhin mit Java arbeiten und denke, dass Scala so schreiben kann.

Recommended Posts

6 Funktionen, die ich nach meiner Rückkehr von Scala nach Java verpasst habe
Neue Funktionen von Java7 bis Java8
R von Java ausführen Ich möchte rJava ausführen
Ich möchte schnell von Java nach SQLite schreiben
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Von Java zu Ruby !!
[Java] Ich möchte die Differenz zum Datum berechnen
Wie schreibe ich Scala aus der Perspektive von Java
Migration von Cobol nach JAVA
Ich ging zur Scala Fukuoka 2019!
Stellen Sie eine Verbindung von Java zu PostgreSQL her
Von ineffektivem Java zu effektivem Java
[JDBC] Ich habe versucht, von Java aus auf die SQLite3-Datenbank zuzugreifen.
Ich habe versucht, mit Java zu interagieren
Java soll ab heute dabei sein
Von Java zu VB.NET-Writing Kontrastmemo-
Java, Schnittstelle für Anfänger
Vom jungen Java (3 Jahre) bis zu Node.js (4 Jahre). Und der Eindruck, nach Java zurückzukehren
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Der Weg von JavaScript nach Java
Rufen Sie die Java-API von TensorFlow von Scala aus auf
Ich habe jetzt versucht, Java 8 zusammenzufassen
[Java] Konvertierung von Array zu Liste
Einführung in Scala aus Java-Perspektive (grundlegend)
Woran ich dachte, als ich anfing, von Java nach Kotlin zu migrieren
Ich habe versucht, die Grammatik von R und Java zu übersetzen [Von Zeit zu Zeit aktualisiert]
Ich habe versucht, Java-Lambda-Ausdrücke zusammenzufassen
Konvertieren Sie von der Java-UTC-Zeit in die JST-Zeit
Stellen Sie mit Eclipse eine Verbindung von Java zu MySQL her
Von der Installation von Eclipse bis zur Ausführung von Java (PHP)
Post to Slack von Play Framework 2.8 (Java)
Java: So senden Sie Werte von Servlet zu Servlet
[Java] Fluss vom Quellcode zur Ausführung
Ich möchte Java-Updates insgesamt stoppen
Einführung in die Überwachung von Java Touching Prometheus
Vorsichtsmaßnahmen bei der Migration von VB6.0 auf JAVA
Ich ging zum Java Women's Club # 1
[* Java *] Ich ging zum JJUG CCC 2017 Herbst
Was ich aus der Java-Geldberechnung gelernt habe
Memo für die Migration von Java nach Kotlin
Typkonvertierung vom Java Big Decimal-Typ zum String-Typ
Zusammenfassung der Punkte, über die ich mir bei der Migration von Java nach Kotlin Sorgen gemacht habe
Java-Funktionen
Java-Funktionen
Ich möchte, dass Sie Scala vorerst als besseres Java verwenden
[Java] Von zwei Listen zu einer Array-Liste
Upsert von Java SDK zu Azure Cosmos DB
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Verwenden Sie native Bibliotheken von Scala über Java CPP + Java
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Ich möchte eine E-Mail in Java senden.
Stellen Sie über eine Java-Anwendung eine Verbindung zu Aurora (MySQL) her
Java Ich habe versucht, einen einfachen Block zu brechen
Um ein VB.net-Programmierer aus einem Java-Shop zu werden
Migrieren Sie von Java zu Server Side Kotlin + Spring-Boot
Ich möchte Java8 für jeden mit Index verwenden
So erhalten Sie eine Klasse von Element in Java