[JAVA] J'ai joué vaguement avec Jshell

Aperçu

Dans cet article, j'expliquerai brièvement comment utiliser Jshell.

Contexte

Cible

--Jshell débutants

Ce que vous avez préparé

Environnement

docker run -it openjdk:11 jshell

Alors ... image.png

Vous pouvez l'utiliser comme ça

Jouons pour le moment

jshell> String hoge = "hoge"
hoge ==> "hoge"

Hit / vars

――Il vous indiquera les variables que vous avez créées

jshell> /vars
|    String hoge = "hoge"
|    List<String> list = []
|    String test = "test"

Hit / importations

――Il vous indiquera celui qui est actuellement importé

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*

Lorsque vous souhaitez en importer un nouveau

jshell> import java.util.Scanner

Comme prévu, ce n'est pas cool, alors ...

jshell> ZonedDateTime
0: Do nothing
1: import: java.time.ZonedDateTime
Choice:
Imported: java.time.ZonedDateTime

Ensuite, il importera comme ça

jshell> ZonedDateTime now = ZonedDateTime.now()
now ==> 2018-12-21T16:14:20.037591Z[Etc/UTC]

Complément

――C'est la même chose que le terminal, et si vous appuyez sur la touche de tabulation, il le terminera.

jshell> var lsit = List.
class     copyOf(   of(

Vous pouvez l'utiliser en appuyant sur tab au même moment (après avoir frappé.

nouvelle ligne

――Si vous avez fait une telle liste

jshell> var list = List.of("hoge","fuga","piyo")
list ==> [hoge, fuga, piyo]

«Pour ce type, j'écris une sorte de traitement, et si j'essaye de casser la ligne à un endroit approprié, il sera exécuté.

jshell> var result = list.stream().filter(word -> word.startsWith("h"))
result ==> java.util.stream.ReferencePipeline$2@31610302

`` C'est vraiment triste, alors ...

jshell> var result = list.stream().filter(word -> word.startsWith("h")
   ...>  ).collect(Collectors.toList())
result ==> [hoge]

Vous pouvez commencer une nouvelle ligne en ouvrant () comme ceci, ou en retournant avec. Dans la ligne précédente.

/exit

――Il peut ne pas être connu de manière inattendue, mais vous pouvez vous en sortir

jshell> /exit
|  Goodbye

/help

――Si vous rencontrez des problèmes, veuillez consulter l'aide.

Impressions

--Jshell Assez amusant

Résumé

――Pour le moment, je viens de jouer pendant environ une heure, donc je ne l'ai pas apprécié, alors j'aimerais savoir s'il existe des scènes d'utilisation ou des commandes d'utilisation recommandées.

référence

J'ai fait référence à l'article Qiita de M. Kishida. Learn JDK11 with JShell (2018/12/15 JJUG CCC 2018 Fall)

Recommended Posts

J'ai joué vaguement avec Jshell
J'ai essayé d'implémenter Ruby avec Ruby (et C) (j'ai joué avec intégré)
J'ai essayé DI avec Ruby
J'ai essayé UPSERT avec PostgreSQL.
J'ai essayé BIND avec Docker
[Introduction à JSP + Servlet] J'ai joué avec pendant un moment ♬
J'ai essayé d'utiliser JOOQ avec Gradle
J'ai essayé l'analyse morphologique avec MeCab
J'ai créé une interface graphique avec Swing
Je ne peux pas installer lombok avec Gradle.
J'ai essayé d'interagir avec Java
J'ai essayé la communication UDP avec Java
Ce que j'ai appris avec Java Gold
J'ai essayé GraphQL avec Spring Boot
J'ai essayé Flyway avec Spring Boot
Ce que j'ai appris avec Java Silver
J'ai essayé de personnaliser Slim avec Scaffold