Java StringJoiner, 문자열과 기본형 변환
by 볼빵빵오춘기join()과 StringJoiner
join은 여러 문자열 사이에 구분자를 넣어서 결합한다.
예제
예제1
String animals = "dog,cat,bear";
String[] arr = animals.split(","); // 문자열을 ','을 구분자로 나눠서 배열에 저장
String str = String.join("-",arr); // 배열의 문자열을 '-'로 구분해서 결합
System.out.println(str); // dog-cat-bear
예제1
int val1 = 100;
int val2 = 200;
int sum = val1+val2;
System.out.println(String.join(""+val1,"+",val2,"=")+sum); // 100+200=300
⇒ 연결문자1구분자연결문자2 이런식으로 반환된다. 예제결과보면서 생각해보기
⇒ 이해가 안될지 구분자에 “”→“*”이런식으로 변경해서 보면 이해가 더 빠를듯하다.
문자열과 기본형 간의 변환
숫자를 문자열로 바꾸는 방법
int i = 100;
String str1 = i + ""; // 방법1
String str2 = String.valueOf(i); // 방법2
⇒ 방법1보다 방법2가 속도가 빠르다.
⇒ 방법1이 직관적으로 보이기 때문에 편리하나 프로그램이 속도가 안나면 방법2로 바꾸는것도 나쁘지않다.
※ byte, short을 문자열로 변환할 때는 String valueOf(int i)를 사용하면 된다.
문자열을 기본형으로 바꾸는 방법
String str = "123";
Integer.parseInt(str); // 방법1
Integer.valueOf(str); // 방법2
⇒ 기본형 들을 valueOf() 바꿔 쓸 수 있고 valueOf()로 바꿔쓰는걸로 추세이다.
⇒ why? Boolaen, Byte,…. 등등 변환시 하나로 통일 시키기 위함 (아래 예제 참고)
※ valueOf()를 이용하지않고 문자를 기본형으로 바꿀 때 (= 위의 Integer.pasrseInt()을 이용한 것처럼)
더보기
- boolean으로 변환할 때
Boolean.parseBoolean(String s)
- byte로 변환할 때
Byte.parseByte(String s)
- short로 변환할 때
Short.parseShort(String s)
- int로 변환할 때
Integer.parseInteger(String s)
- long로 변환할 때
Long.parseLong(String s)
- float로 변환할 때
Float.parseFloat(String s)
- double로 변환할 때
Double.parseDouble(String s)
더보기
위에 valueOf()를 이용하지않고 문자를 기본형으로 바꿀 때를 보면 알겠지만 규칙이 있다.
변환할려는 기본타입의 Wrapper클래스.parse변환할려는 기본타입의 Wrapper클래스()
※ Wrapper클래스 : 자바 기본형을 클래스화 시킨 것! 기본 데이터형을 값이 아닌 객체로 사용할 수 있도록 해준다.
※ Wrapper클래스 int를 제외한 나머지는 이름이 동일하나 앞에 문자만 대문자
기본형 | Wrapper클래스 |
byte | Byte |
short | Short |
...
int | Integer |
자세한 부분은 추후 올릴 예정이기에 우선 이 정도로 알고있기!
예제
public class Ex8_4 {
public static void main(String[] args) {
int iVal = 100;
String strVal = iVal + "";
double dVal = 200.0;
String strVal2 = dVal + "";
double sum = Integer.parseInt(strVal)+ Double.valueOf(strVal2);
double sum2 = Integer.valueOf(strVal)+ Double.valueOf(strVal2);
System.out.println(String.join("",strVal,"+",strVal2,"=")+sum);
System.out.println(strVal+"+"+strVal2+"="+sum2);
}
}
100+200.0=300.0
100+200.0=300.0
'👩🏻💻 About 프로그래밍 > Java' 카테고리의 다른 글
Java StringBuffer 클래스의 메서드 (0) | 2023.12.01 |
---|---|
Java StringBuffer 클래스 (0) | 2023.12.01 |
Java String 생성자 (1) | 2023.12.01 |
Java String 클래스, 문자열 비교, 빈 문자열 (0) | 2023.12.01 |
Java equals(), hashCode(), toString() (0) | 2023.12.01 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기