Je travaille principalement sur Scala depuis environ deux ans, mais pour diverses raisons, je le développe en Java pour la première fois depuis quelques années, mais je voudrais résumer les fonctions qui m'ont manqué Scala.
Scala est développé en utilisant Scala 2.12.x
et Java est développé en utilisant Java 8
.
Ensuite, cela viendra rapidement. (Puisque c'est l'ordre que j'ai proposé, il n'y a pas de signification particulière dans l'ordre)
Quand j'écrivais Scala, j'ai omis les types de variables et de méthodes qui ne sont pas exposés à l'extérieur, mais Java ne le permet jamais. Au début, je ne saisis pas du tout le rythme de l'écriture. Depuis Java 10, il peut être omis dans certaines règles (?). Je ne connaissais pas du tout Java car le temps s'était arrêté depuis Java 7.
J'étais très reconnaissant de retourner à Java. Java a un opérateur ternaire, mais dans les projets sur lesquels je travaillais, il était généralement interdit par convention.
Je l'ai écrit comme ça avec Scala
val mode = if (Expression conditionnelle) "xxx" else "yyy"
Puisque Java ne peut pas renvoyer une valeur
String mode;
if (Expression conditionnelle) {
mode = "xxx";
} else {
mode = "yyy";
}
C'est comme ça? Je m'en fichais du tout dans le passé, mais c'était très désagréable de quitter la culture de la réaffectation.
Vous pouvez omettre diverses choses dans Scala, mais les trois suivantes sont celles que j'ai le plus oublié d'écrire après avoir écrit Java après un long moment.
;
Sur chaque ligne
Le dernier «retour» de la méthode
Une méthode sans arguments et sans effets secondaires ()
Java ne peut pas être renommé lors de l'importation. C'est donc dommage d'utiliser la même classe dans un package différent. Quand j'ai pensé que le nom de la classe était quelque chose de désagréable, je ne pouvais pas changer le nom, alors j'ai pensé que c'était une mesure minutieuse et j'ai décidé de le lire.
C'est le bon. (Ça s'appelle un interpolateur)
val name = "James"
println(s"Hello, $name")
Je ne suis pas sûr du type de chaîne de caractères qui sera généré après la concaténation des chaînes de caractères et son emballage avec le formateur, ou j'utilise le format, mais un argument ne suffit pas? N'y en a-t-il pas beaucoup? J'ai eu beaucoup de problèmes comme oublier le format.
C'est ce qu'on appelle le littéral de chaîne brute, et c'est une sorte d'interpolateur. Je traite souvent avec Json à cause de mon travail, mais je peux l'écrire sous le nom de Scala.
val json = """
{
"id": "12345",
"name": "James"
}
"""
Avec Java ...
String json = "{\n"
+ " \"id\": \"12345\",\n"
+ " \"name\": \"James\"\n"
+ "}";
C'est dur. .. .. Il n'y a pas d'autre choix que d'écrire Json dans l'éditeur et de le coller dans Intellij. (Il a été enregistré car il s'est échappé automatiquement lorsque je l'ai collé sans utilisation)
Il y avait beaucoup d'autres choses, mais j'oubliais car il y avait trop de lutte contre les effets secondaires. Je vais continuer à travailler avec Java en pensant que je peux écrire comme ça avec Scala.
Recommended Posts