>Java >java지도 시간 >Java 문자열 연결

Java 문자열 연결

王林
王林원래의
2024-08-30 15:34:20636검색

이 글에서는 자바 문자열 연결에 대해 자세히 설명하겠습니다. 또한 Java에서 두 개 이상의 문자열을 연결하는 다양한 방법을 살펴보겠습니다. 또한 Java에서 문자열 연결 성능을 살펴보겠습니다. 또한 Java 문자열 연결을 보여주는 Java 코드 예제도 있습니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

Java에서 문자열을 연결하는 다양한 방법

Java 문자열 연결은 둘 이상의 문자열을 새로운 문자열로 결합하는 프로세스로 정의될 수 있습니다. 다음은 Java에서 문자열을 연결하는 다양한 방법입니다.

  • + 연산자 사용
  • String.concat() 메소드 사용
  • StringBuilder 클래스 사용
  • StringBuffer 클래스 사용

1. + 연산자 사용

이것은 Java 문자열을 연결하는 가장 간단한 방법입니다. + 연산자를 사용하면 둘 이상의 문자열을 결합할 수 있습니다. 한 가지 주목해야 할 중요한 점은 + 연산자를 사용하여 연결한 후 얻은 문자열은 Java 힙의 새 메모리 위치를 가리키는 새 문자열이 된다는 것입니다. 풀에 문자열 개체가 있으면 동일한 문자열 개체를 반환합니다. 그렇지 않으면 새 객체가 생성됩니다. 문자열을 연결하기 위해 + 연산자를 사용할 때 명심해야 할 가장 중요한 사항은 다음과 같습니다.

  • 루프에서 문자열을 연결할 때 + 연산자를 사용하지 마세요. 많은 쓰레기가 생성됩니다.
  • 항상 + 연산자를 사용하여 문자열을 연결한 후 반환된 개체에 대한 참조를 저장하세요.
  • + 연산자는 Java에서 정수를 문자열로 변환하는 데 사용할 수 있습니다.

2. 문자열 버퍼 사용

이것은 Java 문자열을 연결하는 더 효율적인 방법입니다. 문자열을 연결하기 위해 문자열 버퍼를 사용하면 결과 문자열의 새 개체가 생성되지 않습니다. 문자열 버퍼를 사용하면 + 연산자를 사용하는 것에 비해 많은 메모리 공간이 절약됩니다. 문자열 연결을 위해 문자열 버퍼를 사용하는 경우 연결된 최종 문자열의 문자 수와 동일한 지정된 용량으로 문자열 버퍼 개체를 초기화합니다. 이렇게 하면 메모리를 효율적으로 사용할 수 있을 뿐만 아니라 문자 크기를 조정하는 데 소요되는 시간도 절약됩니다. 문자열 연결에 문자열 버퍼를 사용할 때의 유일한 단점은 문자열 버퍼가 스레드로부터 안전하기 때문에 이와 관련된 동기화 오버헤드입니다.

3. 문자열 작성기 사용

이것은 Java 문자열을 연결하는 가장 효율적인 방법입니다. 문자열을 연결하기 위해 문자열 작성기를 사용하면 결과 문자열의 새 객체가 생성되지 않습니다. 문자열 작성기를 사용하면 + 연산자를 사용하는 것에 비해 메모리 공간이 많이 절약됩니다. 문자열 연결을 위해 문자열 빌더를 사용하는 경우 연결된 최종 문자열의 문자 수와 동일한 지정된 용량으로 문자열 빌더 개체를 초기화합니다. 이렇게 하면 메모리를 효율적으로 사용할 수 있을 뿐만 아니라 문자 크기를 조정하는 데 소요되는 시간도 절약됩니다. 문자열 빌더를 사용할 때 동기화 오버헤드가 발생하지 않으므로 문자열 빌더를 사용하는 것이 문자열 버퍼를 사용하는 것보다 더 나은 것으로 간주됩니다.

4. String.concat() 사용

이는 위에서 설명한 문자열 버퍼 또는 문자열 빌더 추가 방법을 사용하여 내부적으로 구현됩니다.

Java를 이용한 문자열 연결 성능 ​​분석

앞서 설명한 4개 문자열 연결 방법 중 더 적은 수의 문자열을 연결하려는 경우 + 연산자를 사용하는 것이 좋습니다. 그러나 연결해야 할 문자열의 수가 많아질수록 + 연산자의 성능이 저하되고 문자열 불변성으로 인해 많은 수의 객체가 생성됩니다. 여러 문자열을 연결해야 하는 경우 문자열 변경 가능성을 제공하는 문자열 작성기가 선호됩니다.

구문:

Java에서 문자열 연결의 기본 구문은 다음과 같습니다.

1. + 연산자 사용:

// method accepting strings to be concatenated
public String concatString(String s1, String s2){
String s3= s1+s2;   // using + operator
return s3;
}

2. String.concat() 메소드 사용:

public String concatString(String s1){
String s= "First";
String s2=s.concat(s1);   // using concat method
return s2;
}

3. StringBuffer 사용:

StringBuffer sb= new StringBuffer(capacity); // create string buffer instance
sb.append("first").append(" ").append("second");    // call append method specifying string to be concatenated

4. StringBuilder 사용:

StringBuilder sb= new StringBuilder(capacity); // create string builder instance
sb.append("first").append(" ").append("second");    // call append method specifying string to be concatenated

문자열 연결의 예

다음은 예시입니다.

예시 #1

+ 연산자와 concat() 메서드를 사용한 문자열 연결의 기본 예를 살펴보겠습니다.

코드:

package com.edubca.stringconcatenation;
public class StringconcatDemo{
public static void main(String args[]){
String s1= "This";
String s2= "Is";
String s3= "Edubca";
String s4="Training";
// Using + operator
String concatenatedstr= s1 + " " + s2 +" " + s3 + " " + s4;
System.out.println("String after concatenation is  :: " + concatenatedstr);
//using concat method
String concatenatedstr1= s1.concat(" ").concat(s2).concat(" ").concat(s3).concat(" ").concat(s4);
System.out.println("String after concatenation using concat method is  :: " + concatenatedstr1);
}
}

출력:

Java 문자열 연결

예시 #2

이 예에서는 Java에서 문자열 버퍼를 사용하여 문자열 연결을 수행하는 방법을 살펴보겠습니다.

코드:

package com.edubca.stringconcatenation;
public class StringconcatDemo{
public static void main(String args[]){
String s1= "This";
String s2= "Is";
String s3= "Edubca";
String s4="Training";
// create StringBuffer Instance
StringBuffer sb=new StringBuffer("Edubca");
//call append method for string concatenate
StringBuffer concatenatedstr=sb.append(" ").append("Java").append(" ").append("Training");
System.out.println("Concatenated String using String Buffer is :: " + concatenatedstr );
}
}

출력:

Java 문자열 연결

Example #3

In this example, we will see how to string concatenation is achieved using a string builder in java.

Code:

package com.edubca.stringconcatenation;
public class StringconcatDemo{
public static void main(String args[]){
String s1= "This";
String s2= "Is";
String s3= "Edubca";
String s4="Training";
// create StringBuilder Instance
StringBuilder sb=new StringBuilder ("Edubca");
//call append method for string concatenate
StringBuilder concatenatedstr=sb.append(" ").append("Java").append(" ").append("Training");
System.out.println("Concatenated String using String Builder is :: " + concatenatedstr );
}
}

Output:

Java 문자열 연결

Note: It is important to note that we should prefer StringBuilder over StringBuffer as a String buffer that consumes extra time in synchronization. But in a multithreaded environment, it is advisable to go for StringBuffer.

Conclusion

From the above discussion, we have a clear understanding of string concatenation in java, how it’s achieved, and what are different ways to concatenate java strings. Also, java code examples provide a clear understanding of concatenating strings.

위 내용은 Java 문자열 연결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:자바의 해시맵다음 기사:자바의 해시맵