Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách triển khai tiện ích String và tính bất biến trong JShell Java 9?

JShell là công cụ command-line tương tác dùng để thực thi câu lệnh đơn giản như biểu thức, class, method, field, interface... Lớp String thuộc package built-in java.lang cung cấp nhiều phương thức xử lý văn bản phổ biến.

1) Tiện ích String: String cung cấp vài phương thức tiện ích built-in. Các phương thức như indexOf(), lastIndexOf(), startsWith(), endsWith(), isEmpty(), equals(), equalsIgnoreCase() thuộc tiện ích String.

Đoạn mã dưới triển khai các phương thức tiện ích String trong JShell.

Đoạn mã 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) Tính bất biến của String: Đối tượng String immutable, nghĩa là không thể thay đổi giá trị sau khi tạo.

Đoạn mã dưới: phương thức concat() nối nội dung hai String thành một. Tuy nhiên giá trị gốc tham chiếu bởi str không đổi. concat() tạo String object mới. Tương tự toUpperCase(), toLowerCase(), trim() trả về String mới.

Đoạn mã 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."