JAVA/String
자바 String 주요 메소드 정리
갓우태
2018. 9. 27. 22:11
자바 String의 메소드 중, 주로 쓰일만한 것을 정리했습니다.
- String 초기화.
간단하게 String을 초기화하는 두가지 방법입니다.
1 2 3 4 5 | String 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까지의 부분문자열을 반환합니다.
1 2 3 4 5 | String 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, 다르면 false
compareTo(String str2) : < 0 : str1이 사전순으로 앞에 존재
= 0 : 같은 문자열
> 0 : str2이 사전순으로 앞에 존재
compareToIgnoreCase(str2) : 대소문자 구별없이 비교
equalsToIgnoreCase(str2) : 대소문자 구별없이 비교
1 2 3 4 5 6 7 8 | String 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) : 마지막부터 탐색합니다.
1 2 3 4 | String 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() : 문자열의 앞, 뒤 공백 제거 (한쪽만은 안됨)
1 2 3 4 5 6 7 8 9 10 | String 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을 정리해봤습니다.
반응형