[JAVA] String 클래스에 대해서

2019. 9. 30. 14:41 JAVA/Java

String 클래스에 대해서




String 객체는 문자열을 사용하는데 가장 많이 사용하는 클래스이다. String 클래스에 대해 자세히 보도록 하자.


일단 String 객체가 하나 생성되면, 그 값은 길어지거나 줄어들 수 없으며, 그 문자들 중 어떤 것도 바뀔 수 없다.


그래서 String 객체는 변경불능(immutable)이라고 한다.


하지만 String 클래스의 함수(Method)를 사용하여 String 결과를 수정한 결과를 새로운 String 객체로 반환한다.





String 클래스의 자주 사용하는 함수(Method) 몇개를 살펴 보자.


 함수

반환형 

   설명 

 charAt(int index)

char 

 index로 지정된 첨자 위치에 있는 문자를 반환한다. 

compareTo(String str) 

int

 이 String이 String str보다 사전적 순서에서 앞서면 음수 값, 같으면 0, 뒤에 있으면 양의 정수 값을 반환한다. 

concat(String str) 

String 

 이 String과 str을 접합하여 구성되는 새로운 String을 반환한다.

equals(String str) 

boolean 

 이 String이 str과 같은 문자열이면(대소문자 구분) True, 그렇지 않으면 False 반환 

equalsIgnoreCase(String str) 

boolean

 이 String이 str과 같은 문자열이면(대소문자 미 구분) True, 그렇지 않으면 False 반환 

length() 

int 

 이 String의 문자 개수를 반환한다. 

replace(char oldChar, char newChar) 

String

 String에 나타나는 oldChar를 모두 new Char로 변경한다. 

substring(int offset, int endIndex) 

String 

 이 String의 offset 위치에서부터 endIndex-1까지에 걸친 문자열을 반환한다. 

toLowerCase() 

String 

 모든 대문자를 소문자로 변환한다. 

toUpperCase() 

String 

 모든 소문자를 대문자로 변환한다. 



* String 클래스 메소드 사용 예제


public class StringClass { public static void main(String[] args){ String text = "First String V"; String concat, upperCase, replace, subString; System.out.println("기본 String : "+ text); System.out.println("기본 String 길이 : "+text.length()); // 문자열 길이 출력 concat = text.concat(", Second String V"); // 문자열 연결 upperCase = concat.toUpperCase(); // 문자열 대문자로 변환 replace = upperCase.replace('V', 'K'); // 문자 V를 K로 변환 subString = replace.substring(3, 10); // 3~9 문자열 잘라내기 System.out.println("Concat String : " + concat); System.out.println("upperCase String : " + upperCase); System.out.println("replace String : " + replace); System.out.println("subString String : " + subString); } }



System.out.println("기본 String 길이 : "+text.length()); // 문자열 길이 출력


text인 "First String V" 의 문자열 길이를 반환한다.

-> 14



concat = text.concat(", Second String V"); // 문자열 연결


text인 "First String V" 뒤에 concat 메소드로 ", Second String V" 를 연결했다.

->  First String V, Second String V



upperCase = concat.toUpperCase(); // 문자열 대문자로 변환


concat인 "First String V, Second String V" 의 문자열을 대문자로 변환한다

-> FIRST STRING V, SECOND STRING V



replace = upperCase.replace('V', 'K'); // 문자 V를 K로 변환


upperCase인 "FIRST STRING V, SECOND STRING V" 문자열 중 'V' 문자를 'K' 문자로 변환 한다.

-> FIRST STRING K, SECOND STRING K



subString = replace.substring(3, 10); // 3~9 문자열 잘라내기


replace 인 "FIRST STRING K, SECOND STRING K" 문자열의 3번째 부터 9번째 문자열까지 잘라낸다 (0부터 시작)

-> ST STRI



StringClass.zip



String에는 이외에도 많은 유용한 메소드들이 많다.


필요한 메소드가 있을 때는 API Document를 찾아보는 습관을 가지면 좋다.


JAVA Standard Edition 8 API


여기서 필요한 메소드를 찾아보기 바란다.



출처: https://hyeonstorage.tistory.com/139?category=557602 [개발이 하고 싶어요]