如何在 Java 9 的 JShell 中實現字串實用程式和不變性?
JShell 是一個互動式的命令列工具,用於實現簡單的語句,例如表示式、類、方法、欄位、介面等。String類是內建java.lang包的一部分,並提供了幾種用於常見文字處理的方法。
1) 字串實用程式:String 提供了幾種內建實用程式方法。諸如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 ==> true2) 字串不變性:String 物件是不可變的,這意味著在建立後我們無法更改其值。
在下面的程式碼片段中,String 類的concat() 方法將兩個 String 物件的內容連線到一個物件中。但是,"str"引用的原始值保持不變。concat() 方法將建立一個新的 String 物件。就像concat() 方法一樣,其他 String 方法(如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."
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP