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

Java 9のJShellで文字列ユーティリティと不変性を実装するにはどうすればよいですか?


JShell インタラクティブなコマンドラインです 式、クラス、メソッド、フィールド、インターフェースなどの単純なステートメントを実装するために使用されるツール。文字列 クラスは組み込みのjava.langの一部です パッケージ化し、一般的なテキスト処理のためのいくつかのメソッドを提供します。

1)文字列ユーティリティ :文字列はいくつかの組み込みユーティリティを提供します メソッド。 indexOf()のようなメソッド 、 lastIndexOf() startsWith() endsWith() isEmpty() equals() equalsIgnoreCase() 文字列ユーティリティの一部です。

以下のコードスニペットでは、JShellツールに文字列ユーティリティメソッドを実装しています。

スニペット-1

jshell> String str = "JShell is a new feature in Java9";
str ==> "JShell is a new feature in Java9"

jshell> str.indexOf("new")
$4 ==> 12

jshell> str.charAt(7)
$5 ==> 'i'

jshell> str.indexOf('i')
$6 ==> 7

jshell> str.lastIndexOf('i')
$7 ==> 24

jshell> str.contains("feature")
$8 ==> true

jshell> str.startsWith("JShell")
$9 ==> true

jshell> str.startsWith("Java9")
$10 ==> false

jshell> str.endsWith("Java9")
$11 ==> true

jshell> str.endsWith("a9")
$12 ==> true

jshell> str.endsWith("a9java")
$13 ==> false

jshell> String str1 = "value"
str1 ==> "value"

jshell> str1.equals("value")
$15 ==> true

jshell> str1.equals("VALUE")
$16 ==> false

jshell> str1.equalsIgnoreCase("VALUE")
$17 ==> true


2)文字列の不変性: 文字列オブジェクトは不変です 、つまり、作成後に値を変更することはできません。

以下のコードスニペットでは、メソッド concat() of Stringクラスは、2つのStringオブジェクトの内容を1つに結合します。ただし、「 str」によって参照される元の値 "は変更されません。concat() メソッドは新しいStringオブジェクトを作成します。 concat()と同じように メソッド、 toUpperCase()などの他の文字列メソッド 、 toLowerCase() 、および trim() メソッドは新しいStringオブジェクトを返します。

スニペット-2

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

jshell> str.concat(" is e-learning app");
$3 ==> "Tutorialspoint is e-learning app"

jshell> str
str ==> "Tutorialspoint" ^

jshell> String str1 = str.concat(".")
str1 ==> "Tutorialspoint."

jshell> str1
str1 ==> "Tutorialspoint."

jshell> String str = str.concat(" is e-learning app");
str ==> "Tutorialspoint is e-learning app"

jshell> str
str ==> "Tutorialspoint is e-learning app"

jshell> String str1 = "Tutorialspoint";
str1 ==> "Tutorialspoint"

jshell> str1.concat(" is e-learning app");
$2 ==> "Tutorialspoint is e-learning app"

jshell> str1
str1 ==> "Tutorialspoint"

jshell> String str2 = str1.concat(" is e-learning app");
str2 ==> "Tutorialspoint is e-learning app"

jshell> str1
str1 ==> "Tutorialspoint"

jshell> String str3 = str2.concat(".");
str3 ==> "Tutorialspoint is e-learning app."

jshell> str1
str1 ==> "Tutorialspoint"

jshell> str2
str2 ==> "Tutorialspoint is e-learning app"

jshell> String s = "Tutorialspoint is e-learning app."
s ==> "Tutorialspoint is e-learning app."

jshell> s.toUpperCase()
$10 ==> "TUTORIALSPOINT IS E-LEARNING APP."

jshell> s.toLowerCase()
$11 ==> "tutorialspoint is e-learning app."

  1. Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?

    JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet; 以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応する

  2. Java 9のJShellでスニペットを保存、編集、およびドロップする方法は?

    JavaシェルまたはJShell は公式のREPL (Read-Evaluate-Print-Loop) Java 9で導入 。すばやくプロトタイピングするためのインタラクティブなシェルを提供します 、デバッグ main()は必要ありません メソッドを実行する前にコードをコンパイルする必要はありません。 JShellは、「jshell」と入力することで簡単に開始できます コマンドプロンプトで。 スニペットを保存 / save [-all | -history | -start] を使用して、スニペットソースをファイルに保存できます。 コマンド。 C:\Users\User>jshe