string class 예제

나중에 변경할 수 없는 문자열에 대해 설명합니다. 먼저 Java의 문자열이 무엇이며 String 개체를 만드는 방법을 이해해 보겠습니다. 이 String 개체의 하위 문자열은 인수 의 하위 문자열과 다른 인수의 하위 문자열과 비교됩니다. 이러한 하위 문자열이 동일한 문자 시퀀스를 나타내는 경우 결과가 true입니다. 비교할 이 String 개체의 하위 문자열은 인덱스 toffset에서 시작되며 길이가 len입니다. 비교할 다른 하위 문자열은 인덱스 오프오프에서 시작하여 길이가 len입니다. 결과는 거짓이고 다음 중 하나 이상이 사실인 경우에만 : 나는 자바의 문자열에 대한 여러 자습서를 공유했다. 다음은 인기있는 Java 문자열 자습서에 대한 링크입니다. 이제 문자열이 변경할 수 없는 또 다른 이유를 알 수 있습니다. 스레드 A가 로컬 문자열 “abc”를 만든 다음 두 번째 스레드 B가 자신의 로컬 문자열 “abc”를 만드는 것을 상상해보십시오. 이 두 스레드는 동일한 String 개체를 공유합니다… 문자열이 변경 가능한 경우 A가 문자열을 변경하면 변경이 스레드 B에 영향을 미치지만 의미없는 (치명적인 배치) 방식으로 영향을 미칩니다. 이 메서드는 인수의 String 값이 메서드를 호출하는 데 사용되는 String 값과 동일한지 여부에 따라 부울 값(true 또는 false)을 반환합니다.

이 메서드는 비교 중인 String 개체의 문자가 서로 다른 경우(예: 진행하기 전에 Java의 다른 데이터 형식과 달리 문자열이 불변이라는 점을 추가하고 싶습니다)와 같이 true를 반환합니다. 변경할 수 없으므로 문자열이 일정하다는 의미이며 문자열을 만든 후에는 해당 값을 변경할 수 없습니다. String 개체는 변경할 수 없으므로 공유할 수 있습니다. 예를 들어, 달리 명시되지 않는 한 이 클래스의 생성자 나 메서드에 null 인수를 전달하면 NullPointerException이 throw됩니다. 문자열 “boo:and:foo”, 예를 들어, 이러한 매개 변수와 함께 다음과 같은 결과 산출: 이 접근 방식의 문제: 처음에 언급 한 대로 문자열은 자바의 개체입니다. 그러나 위의 새 키워드를 사용하여 문자열 개체를 만들지 않았습니다. 컴파일러는 문자열 리터럴(이 경우 “Welcome”)을 갖는 문자열 개체를 만들고 제공된 문자열 인스턴스에 할당합니다. 참고 : 공백이 문자열 사이에있는 경우 ( 예 : 문자열 s1 = “오늘 밤 연구”; 그런 다음 System.out.println(s1.trim(); “오늘 밤 연구”를 출력합니다. 비교 시도 코드 섹션은 약간 흐릿해 보일 수 있지만 다음 섹션에서 는 명확해집니다.

지금 당장 빼앗아야 할 것은 == 연산자사용을 사용하여 문자열의 내용을 비교하려고 해서는 안 된다는 것입니다. 콘텐츠 같음이 아닌 참조 같음만 비교합니다. 같음 또는 같음을 사용해야 합니다.Ignore Case. Java 문자열은 불변이며 최종이므로 문자열 조작을 수행 할 때마다 새 문자열이 만들어집니다.