-
자바 String 주요 메소드 정리JAVA/String 2018. 9. 27. 22:11
자바 String의 메소드 중, 주로 쓰일만한 것을 정리했습니다.
- String 초기화.
간단하게 String을 초기화하는 두가지 방법입니다.12345String str1= "abcde";char[] ch = {'a', 'b', 'c', 'd', 'e'};String str2 = new String(ch);System.out.println("str1 : " + str1);System.out.println("str2 : " + str2);실행 결과char 배열을 인자로 넣으면, 이어진 String을 만들 수 있습니다! 와우
- charAt, substring
return -charAt(int index) : String에서 해당 index의 character를 반환합니다. (char형임)substring(int start, int end) : start index부터 end index까지의 부분문자열을 반환합니다.12345String str1= "abcde";char[] ch = {'a', 'b', 'c', 'd', 'e'};String str2 = new String(ch);System.out.println("str1.charAt(2) : " + str1.charAt(2));System.out.println("str2.substring(2,5) : " + str2.substring(2, 5));실행 결과
substring을 쓸때 주의할 점은, end index의 전 문자까지 반환한다는 것입니다.
substring(2,5) -> index 2, 3, 4인 cde를 반환합니다.
subsring(2) -> index 2부터 끝까지 반환합니다.
- 문자열 비교 (equals(), compareTo())
두 메소드 모두 문자열이 같은지 판별합니다.다른 점은, equals는 단순 같은지 틀린지 비교라면,compareTo는 사전순으로 어떤게 앞서는지 비교가 가능합니다.return -equals(String str2) : 같으면 true, 다르면 falsecompareTo(String str2) : < 0 : str1이 사전순으로 앞에 존재= 0 : 같은 문자열> 0 : str2이 사전순으로 앞에 존재compareToIgnoreCase(str2) : 대소문자 구별없이 비교equalsToIgnoreCase(str2) : 대소문자 구별없이 비교12345678String str1= "abcde";char[] ch = {'a', 'b', 'c', 'd', 'e'};String str2 = new String(ch);String str3 = "ABCDE";System.out.println("equals : st1 == str2 ? " + str1.equals(str2));System.out.println("compareTo : str1 == str2 ? " + str1.compareTo(str2));System.out.println("compareTo : str1 == str3 ? " + str1.compareTo(str3));System.out.println("compareToIngoreCase : str1 == str3 ? " + str1.compareToIgnoreCase(str3));cs 실행 결과
- indexOf
해당 문자 또는 문자열의 인덱스를 반환합니다.indexOf(int ch) : 해당 문자열에서 처음으로 발견되는 인덱스 반환indexOf(int ch, int fromIndex) : 만약 문자열 상에 a가 3개 있을 때,fromIndex로 몇번째 a의 인덱스를 반환할 지 정해줍니다.indexOf(String str) : str이 나오는 처음 인덱스를 반환lastIndexOf(int ch) : 마지막부터 탐색합니다.1234String str1= "abade";System.out.println("indexOf(a) : " + str1.indexOf("a"));System.out.println("indexOf(a, 1) : " + str1.indexOf("a", 1));System.out.println("LastIndexOf(a) : " + str1.lastIndexOf("a"));cs 실행 결과
- 기타 메소드
isEmpty() : 빈 문자열인지 체크length() : 문자열의 길이 (배열 길이는 length,,, 괄호가 없따)replace(char old, char new) => old의 문자를 new로 변환split(String str) : str문자열을 기준으로 문자열 분리toCharArray() : char 배열로 반환toUpperCase() : 모두 대문자로toLowerCase() : 모두 소문자로trim() : 문자열의 앞, 뒤 공백 제거 (한쪽만은 안됨)12345678910String str1 = "";System.out.println("str1 is empty? : " + str1.isEmpty());String str2 = "abcd";System.out.println("str2 길이 : " + str2.length());String str3 = "안녕하세요a저는a갓우태a입니다";String[] str4 = str3.split("a");for(int i = 0; i < str4.length; i++) { //str4.length : str4배열의 사이즈System.out.println(str4[i]);}cs 실행 결과
내일 라인 코딩테스트를 준비할 겸, 자바 String을 정리해봤습니다.
반응형