자바 문자 함수
오늘은 Java에서 문자열을 가지고 여러가지 값을 구해야 할 때 알면 좋을 함수들에 대해서 알아보겠습니다. 😎
변수의 자료형에 따라 그리고 어떤 클래스를 사용하는 지에 따라 사용할 수 있는 함수가 다르기때문에 나눠서
보도록 하겠습니다.
String
자료형이 String인 변수 str이 있습니다.
String str="a,b,c 공부"
이 객체를 가지고 다음과 같은 작업을 할 수 있습니다.
-
길이 구하기 : length();
-
변수기준으로 쪼개기 : split(“기준문자”); => 얘를 받는 변수는 String [] 타입이에요.
String [] strarr = str.split(","); //{"a","b","c 공부"};
- 인덱스 기준으로 자르기 : substring(0,2); 0~1번째까지
String substr = str.substring(0,2);// "a,"
-
대체: replace(“원래문자”,”대체문자”);
-
해당위치의 문자 찾기: setCharAt(위치); 해당 위치의 값만 출력
-
반복: repeat(반복횟수); //자바 11이상부터 가능
-
char [] 배열로 변환: toCharArray();
char [] chararr = str.toCharArray();//{a, ,, b, ,, c, , 공, 부};
StringBuilder
기존 String을 가지고 할 수 없는 작업이 있을 때 StringBuilder를 사용합니다. 예를 들어
String클래스에 replace를 가지고 문자열을 대체할 수는 있지만 인덱스의 문자를 찾아 바꿀 수는 없죠. 그런데 얘는 가능합니다.
또, 성능을 개선하기 위해 사용합니다.
String은 불변 immutable 객체로 “ㅁ”,”ㅇㅁㄹ” 두개의 객체가 있을 때 +같은 연산을 하면 새로운 String을 생성하는데요. 이는 메모리 할당,해체를 요하며 성능적으로 좋지 않습니다.
그에 반에 StringBuilder를 사용하면 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 append함수를 써서 더하는 방식이기 때문에, 훨씬 효율적입니다. 특히나 긴 문자열을 사용한다면 StringBuilder를 사용하길 바랍니다.
StringBuilder sb = new StringBuilder(String 변수);
-
해당 위치에 대체문자로 교체: sb.setCharAt(위치,”대체문자”);
-
덧붙이기 : sb.append(“덧붙일 문자”);
-
sb.toString(): 주소에 담긴 값
댓글남기기