Java
 Computer >> コンピューター >  >> プログラミング >> Java

【Java 9】JShellセッションを閉じずにリセットする「/reset」コマンドの使い方

JShellとは

Java 9では、Java向けの対話型ツールJShellが新たに導入されました。JShellを使うと、宣言(declarations)ステートメント(statements)式(expressions)といったコードスニペットを、クラスやメソッドを定義せずにその場で評価・実行できます。

セッションをリセットする「/reset」コマンド

JShellのセッション中に、ツールを終了して再起動することなく状態を初期化したい場合は、内部コマンドの「/reset」を使用します。

このコマンドを実行すると、現在のセッションで入力されたコードはすべて消去され、JShellは起動直後の初期状態に戻ります。たとえば、新しいクラスをテストしたい場合や、以前使った名前をそのまま再利用して新しい変数を作りたい場合などに非常に便利です。

実行例:/listで確認してから/resetでリセット

以下の例では、まず変数 aystr を作成しています。「/list」コマンドを使うと、それまでに入力したすべてのコードスニペットを一覧表示できます。その後、「/reset」コマンドを適用すると、現在のセッションがリセットされます。

jshell> int a = 25
a ==> 25

jshell> double y = 30
y ==> 30.0

jshell> String str = "Tutorialspoint"
str ==> "Tutorialspoint"

jshell> /list

   1 : int a = 25;
   2 : double y = 30;
   3 : String str = "Tutorialspoint";

jshell> /reset
|  Resetting state.

リセット後の動作

「/reset」実行後は、以前に定義した変数はすべて失われているため、参照しようとするとエラーになります。同じ名前の変数を改めて定義し直すことも可能です。

jshell> /list

jshell> x
|  Error:
|  cannot find symbol
|    symbol: variable x

jshell> str
|  Error:
|  cannot find symbol
|    symbol: variable str

jshell> int x = 15
x ==> 15

jshell> String str = "reset"
str ==> "reset"

jshell> /list

   1 : int x = 15;
   2 : String str = "reset";

まとめ

  • JShellはJava 9から提供されている対話型のコード評価ツールである。
  • セッションを閉じずに状態を初期化するには、内部コマンド「/reset」を使う。
  • 「/list」で入力履歴を確認でき、「/reset」後はすべての変数・定義が消去される。
  1. Java 9のJShellでデフォルトエディタを変更する方法

    JShellは、Java 9から導入されたREPL(Read-Evaluate-Print Loop)ツールです。コマンドラインからコードを読み込み、入力されたスニペットを評価し、その結果を画面に出力してくれます。 JShellのデフォルトエディタを変更する手順 JShellでは、デフォルトの「JShell Editor Pad」を使ってコードを編集できます。さらに、「/set」コマンドを使用すれば、デフォルトエディタを別のものに変更することも可能です。「/edit」コマンドを実行すると、設定されたエディタが起動されます。エディタを変更するには、次のコマンドを実行します。 /set edito

  2. Java 9のJShellで例外はどう扱われる?自動キャッチの仕組みと具体例

    JShellとはJava 9で導入されたJShellは、Java言語の機能や豊富なライブラリを素早く探索・発見・実験できる、高速で使いやすい対話型環境(REPL)です。コードを1行ずつ入力して即座に結果を確認できるため、学習やプロトタイピングに最適なツールといえます。JShellにおける例外処理の仕組み通常のJavaプログラムでは、try-catchブロックなどを使って例外を明示的に捕捉する必要があります。しかし、JShellでは例外を手動でキャッチする必要がありません。JShellは発生した各例外を自動的にキャッチし、例外の種類やメッセージなどの情報を表示した後、次のJShellプロンプトを