Java/이론 및 문법

[Java] String 함수 이해하기 : format, join, valueOf, copyValueOf

adjh54 2023. 5. 8. 15:31
728x170
해당 글에서는 java.lang에 속하는 String 함수에 대해서 이해를 돕기 위해 작성한 글입니다.





1) String 함수 요약


함수 설명
String.format() - 문자열을 “포맷팅”하기 위해서 사용되는 함수입니다.
- 지정된 형식 문자열과 그에 따른 인수들을 입력받아, 지정된 형식으로 포맷팅된 문자열을 반환합니다.
String.join() - 문자열 리스트를 “결합”하는 데 사용되는 함수입니다.
- 지정된 구분자를 기준으로 입력받은 문자열 리스트를 결합한 결과를 반환합니다.
String.valueOf() - 객체를 “문자열로 변환”하는 데 사용되는 함수입니다.
- 입력값으로 숫자, 문자, 불리언, 문자열 및 기타 객체를 입력받을 수 있습니다.
String.copyValueOf() - 문자열의 일부분을 복사하여 “새로운 문자열을 생성”하는 데 사용되는 함수입니다.
- 복사할 문자열과 시작 위치, 복사할 문자의 개수를 입력받아 새로운 문자열을 반환합니다.

 
 

2) String.format()


💡 String.format()

- 문자열을 “포맷팅”하기 위해서 사용되는 함수입니다. 지정된 형식 문자열과 그에 따른 인수들을 입력받아, 지정된 형식으로 포맷팅된 문자열을 반환합니다.

 

1. 구조


public static String format(String format, Object... args)
타입 파라미터 설명
String format 서식화할 문자열입니다. 문자열 내에 %n 형태로 포맷 지정자를 사용할 수 있습니다.
Object args format 문자열 내 포맷 지정자에 대응시킬 값들입니다.

 
 

2. 포맷 지정자


포맷 지정자 설명 출력 결과 예시
%s 문자열 "hello"
%d 10진수 정수 123
%f 부동소수점 실수 3.14
%c 문자 'a'
%b boolean 값 true 또는 false
%n 줄바꿈 문자 줄바꿈

 
 

3. 사용 예시


String name = "Alice";
int age = 25;

String result = String.format("My name is %s and I'm %d years old.", name, age);

System.out.println(result); // 출력 : My name is Alice and I'm 25 years old.

 
 

[참고] 활용방안에 대해서 궁금하시면 아래의 링크를 참고하시면 도움이 됩니다.
 

[Java/Short] 문자열/숫자의 왼쪽, 오른쪽에 값 채우는 방법 : String.format()

해당 글에서는 문자열과 숫자의 왼쪽, 오른쪽에 값을 채우는 방법에 이해를 돕기 위해 작성한 글입니다. 1) 문자열을 왼쪽/오른쪽에서 값 채우는 방법 💡 해당 부분에서는 문자열을 기준으로 왼

adjh54.tistory.com

 
 
 

3) String.join()


💡 String.join()란?

- 문자열 리스트를 “결합”하는 데 사용되는 함수입니다. 지정된 구분자를 기준으로 입력받은 문자열 리스트를 결합한 결과를 반환합니다.

 

1. 구조


public static String join(CharSequence delimiter, CharSequence... elements) 
타입 파라미터 설명
CharSequence delimiter 문자열을 결합할 때 사용할 구분자입니다. 이 구분자는 elements 배열의 원소들 사이에 삽입됩니다. 예를 들어, delimiter를 ","로 설정한다면 elements 배열의 원소들이 ","로 구분되어 결합됩니다.
CharSequence elements 결합할 문자열을 담은 배열입니다. CharSequence 타입으로 선언되어 있어, String 뿐만 아니라 CharSequence 인터페이스를 구현하는 모든 클래스의 인스턴스를 전달할 수 있습니다.

 
 

2. 사용예시


String[] strArr = {"apple", "banana", "orange"};
String result = String.join(",", strArr);

System.out.println(result); // 출력 : apple,banana,orange

 
 
 

4) String.valueOf()


💡 String.valueOf()란?

- 객체를 “문자열로 변환”하는 데 사용되는 함수입니다. 입력값으로 숫자, 문자, 불리언, 문자열 및 기타 객체를 입력받을 수 있습니다.

 
 

1. 구조


public static String valueOf(boolean b) { }
public static String valueOf(char c) { }
public static String valueOf(char[] data) { }
public static String valueOf(double d) { }
public static String valueOf(float f) { }
public static String valueOf(int i) { }
public static String valueOf(long l) { }
public static String valueOf(Object obj) { }

 

타입 파라미터 값 설명
boolean b boolean 타입의 값
char c char 타입의 값
char[] data char[] 타입의 값
double d double 타입의 값
float f float 타입의 값
int i int 타입의 값
long l long 타입의 값
Object obj Object 타입의 값

 
 

2. 사용예시


int num = 10;
String str = String.valueOf(num);

System.out.println(str); // 출력 : 10

 
 

5) String.copyValueOf()


💡 String.copyValueOf()란?

- 문자열의 “일부분을 복사하여 새로운 문자열을 생성”하는 데 사용되는 함수입니다. 복사할 문자열과 시작 위치, 복사할 문자의 개수를 입력받아 새로운 문자열을 반환합니다.

 

1. 구조


public static String copyValueOf(char[] data)
public static String copyValueOf(char[] data, int offset, int count)
타입 파라미터 설명
char[] data char[] 타입의 배열
int offset 변환할 문자열의 시작 인덱스
int count 변환할 문자열의 길이

 

2. 사용예시


char[] charArr = {'H', 'e', 'l', 'l', 'o'};
String str1 = String.copyValueOf(charArr);

System.out.println(str1); // 출력 : Hello

String str2 = String.copyValueOf(charArr, 1, 3);

System.out.println(str2); // 출력 : ell

 
 
 
오늘도 감사합니다. 😀
 
 
 

그리드형