Java에서 문자열 사용에 대해 알아야 할 사항

Java에서 문자열 사용에 대해 알아야 할 사항

Java를 배우기 시작하면 String 클래스는 고유한 속성 덕분에 주의를 끌 것입니다.





Java에서는 다른 언어보다 쉽게 ​​문자열을 만들고 조작할 수 있습니다. String 클래스는 다양한 기능을 제공하기 때문입니다.





이러한 기능을 기반으로 기본 설정과 필요에 따라 문자열을 생성하고 편집하는 몇 가지 방법이 있습니다. 마찬가지로 애플리케이션과 문자열을 사용해야 하는 위치에 따라 많은 것이 달라집니다.





Java 문자열은 어떻게 다른가요?

이전에 C 언어로 작업한 적이 있다면 C의 문자열이 문자 (문자). 반면에 Java 문자열은 변경할 수 없으며 유니코드 문자를 포함합니다.

내 메시지가 배달되지 않았다고 표시되는 이유

Java에서 문자열을 고유하게 만드는 주요 기능 중 하나는 연결입니다. 더하기 연산자 +를 사용하여 둘 이상의 문자열을 결합하기만 하면 됩니다. 이것은 다음과 같은 다른 Java 객체로는 할 수 없는 것입니다. 가리키다 또는 .



또한 앞에서 언급했듯이 Java 문자열은 변경할 수 없습니다. 즉, 수정할 수 없습니다. 예를 들어, 다음과 같은 방법 대문자로() 그리고 소문자() 기존 문자열 내용을 변경하는 대신 완전히 새로운 문자열을 생성합니다. 이제 코드에서 이 새로 생성된 문자열을 반환합니다.

관련: 이 함수를 사용하여 PHP에서 텍스트를 조작하는 방법





문자열이 다른 또 다른 영역은 C와 같은 언어에서 문자열을 종료하기 위해 null 문자를 사용하는 경우입니다. Java에서 문자열은 문자 배열에서 지원하는 객체입니다. 문자 배열이 나타내는 방식으로 문자열의 내용을 읽으려면 다음을 사용하십시오. toCharArray() 방법이 작업을 수행합니다.

Java에서 문자열을 비교하는 것은 다른 프로그래밍 언어보다 더 편리합니다. 문자열을 비교하기 위해 긴 코드 블록을 작성하는 대신 다음을 사용할 수 있습니다. 같음() 모든 프로그램에서 사용되는 둘 이상의 문자열을 비교하는 방법입니다. 이는 주로 Java에서 같음 메서드는 문자열 비교를 케이크 조각으로 만드는 String 클래스에 의해 재정의됩니다.





비슷한 참고로 Java의 하위 문자열 내에서 검색하는 것도 번거롭지 않습니다. 정규식을 사용하면서 또는 다음과 같은 방법 마지막 인덱스() 그리고 indexOf(), 문자열의 세그먼트를 검색하고 일치 항목이 식별되면 값을 반환할 수 있습니다. 또한 정규식을 사용하여 다른 문자열을 자르고 분할하고 모든 프로그램에서 다양한 용도로 개별적으로 사용할 수 있습니다.

문자열은 메모리에 어떻게 저장됩니까?

Java의 문자열을 차별화하고 유용하게 만드는 요소를 알았으므로 이제 String 클래스를 살펴보겠습니다. Java의 메모리 관리에 대해 한두 가지를 알고 있다면 힙과 스택이라는 두 가지 핵심 엔터티를 처리했을 것입니다.

스택은 Java 프로그램에 의해 호출된 후 프로세스 및 작업을 실행하는 데 사용되는 반면 힙은 코드를 효과적으로 실행하고 실행하는 데 필요한 내용을 저장합니다. 그렇다면 문자열의 경우 메모리 관리는 어떤 관련이 있습니까?

Java의 String 클래스와 문자열 리터럴은 다른 처리를 받기 때문입니다. 이것은 문자열 리터럴이 문자열 상수 풀이라고 하는 힙 메모리의 고유한 저장 공간에 할당되었음을 나타냅니다. 따라서 문자열 리터럴을 사용하여 Java에서 문자열 객체를 생성할 때마다 문자열 상수 풀이 이를 저장합니다.

반대로 사용하면 새로운 키워드를 사용하여 문자열 객체를 생성하면 Java는 객체를 다른 객체처럼 취급하고 저장을 위해 힙으로 보냅니다.

문자열 리터럴 예제

이제 문자열 객체에 대해 충분히 알았으므로 문자열 리터럴의 예를 살펴보겠습니다.


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

여기에서 문자열 리터럴은 MUO의 Hello World 내용으로 String 객체를 생성했습니다. Java는 이 객체를 문자열 상수 풀로 보냅니다.

새 키워드 사용

당신은 또한 사용할 수 있습니다 새로운 String 객체를 생성하기 위한 키워드.

MUO의 Hello World가 포함된 문자열 himuo의 문자열 개체는 문자열 리터럴에 의해 생성되었으며 문자열 상수 풀로 전송됩니다. 마찬가지로 다음과 같이 new 키워드를 사용하여 문자열 개체를 만들 수도 있습니다.


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

위의 예는 다음을 사용합니다. 새로운 문자열 개체를 만드는 키워드입니다. 이전에 설명한 대로 힙으로 보내져 프로그램에서 실행되기를 기다리는 다른 변수 및 개체와 함께 저장됩니다.

지금쯤이면 String Constant Pool에 대해 궁금할 것입니다. 문자열 개체의 내용을 기반으로 개체에 풀 공간을 할당합니다. String Constant Pool은 객체를 수신한 후 두 객체에 정확히 동일한 내용이 포함되어 있는지 확인하기 위해 확인합니다.

두 개의 문자열 객체가 동일한 내용을 저장할 수 있습니까?

문자열 리터럴을 사용하여 새 객체를 생성하면 JVM(Java Virtual Machine)이 객체 내용을 검토하고 풀에 이미 존재하는지 여부를 평가합니다. 객체에 이미 풀에 있는 콘텐츠가 포함되어 있으면 새 객체를 생성하지 않고 객체의 참조가 반환됩니다. 새 개체를 만들어야 하는 경우 콘텐츠가 고유하고 고유한지 확인해야 합니다.

그러나 사용하는 경우 새로운 키워드를 사용하여 새 문자열을 생성하면 다르게 처리됩니다. 사용할 때 새로운 키워드를 사용하여 새 문자열을 생성하면 기존 문자열과 동일한 내용을 포함하는지 여부에 관계없이 생성됩니다.

이것은 힙 메모리에 저장된 두 개의 기존 문자열 객체가 동일한 내용을 수반할 수 있음을 나타냅니다. 이것은 문자열 상수 풀에 저장된 문자열 객체와 다릅니다. == 연산자로 이것을 증명할 수도 있습니다. 동일한 물리적 주소를 가진 두 개체가 비교되면 true를 반환합니다.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

이제 Java에서 문자열을 쉽게 이해할 수 있습니다.

이 기사에서는 Java의 문자열이 어떻게 다른지, Java에서 문자열을 사용하는 방법, Java에서 문자열의 메모리 관리 및 문자열 작동 방식에 대한 기타 중요한 세부 정보를 배웠습니다. 이해를 테스트하기 위해 두 문자열을 연결하는 Java 프로그램을 작성하는 것이 어떻습니까?

공유하다 공유하다 트위터 이메일 파이썬을 배우시나요? 문자열을 조작하는 방법은 다음과 같습니다.

Python에서 문자열을 사용하고 조작하는 것은 어려워 보일 수 있지만 믿을 수 없을 정도로 간단합니다.

다음 읽기
관련 항목
  • 프로그램 작성
  • 자바
저자 소개 우스만 가니(4편 게재)

Usman은 디지털 플랫폼에서 여러 비즈니스의 유기적 성장을 도운 콘텐츠 마케터입니다. 그는 프로그래밍과 글쓰기를 모두 좋아합니다. 즉, 기술적인 글쓰기는 그가 많이 즐기는 것입니다. 일을 하지 않을 때 Usman은 TV 쇼를 보고, 크리켓 경기를 보고, 데이터 분석에 대해 읽는 것을 즐깁니다.

우스만 가니가 참여한 작품 더보기

뉴스레터 구독

기술 팁, 리뷰, 무료 전자책 및 독점 거래에 대한 뉴스레터에 가입하십시오!

구독하려면 여기를 클릭하세요.