Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9의 JShell에서 문자열 유틸리티 및 불변성을 구현하는 방법은 무엇입니까?


JShell 대화형 명령줄 입니다. 표현식, 클래스, 메소드, 필드, 인터페이스 등과 같은 간단한 명령문을 구현하는 데 사용되는 도구입니다. 문자열 클래스는 내장 java.lang 의 일부입니다. 패키지이며 일반적인 텍스트 처리를 위한 여러 방법을 제공합니다.

1) 문자열 유틸리티 :문자열은 여러 내장 유틸리티 를 제공합니다. 행동 양식. indexOf()와 같은 메소드 , lastIndexOf() , startsWith() , endsWith() , isEmpty() , 같음() , 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 클래스는 두 String 객체의 내용을 하나로 결합합니다. 그러나 "str "는 변경되지 않습니다. concat() 메소드는 새로운 String 객체를 생성할 것입니다. concat()처럼 메소드, toUpperCase()와 같은 기타 String 메소드 , toLowerCase()트림() 메소드는 새로운 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."