String 생성자
String() | 빈 스트링 객체 생성 |
String(Char[] value) | char 배열에 포함된 문자들을 스트링객체로 생성 |
String(String original) | 인자로 주어진 스트링과 똑같은 스트링 객체 생성 |
String(StringBuffer buffer) | 스트링버퍼에 포함된 문자들을 스트링객체로 생성 |
String 주요 메소드
메소드 | 기능 | 리턴타입 |
charAt() | 지정된 인덱스의 문자를 반환 | char |
compareTo() | 해당 문자열을 인수로 전달된 문자열과 사전 순으로 비교 -> 같으면 0, 문자열이 매개변수의 문자열보다 길이가 짧거나 순서가 앞이면 음수, 길이가 길거나 뒤이면 양수값을 반환함 | int |
concat() | 문자열의 끝에 매개변수의 문자열을 추가 -> 결합된 문자열을 반환 | String |
contains() | 문자열에 일련의 문자가 포함되어 있는지 확인 | boolean |
equals() | 두 문자열을 비교 -> 같으면 true 다르면 false | boolean |
indexOf() | 문자열에서 매개변수의 문자가 첫번째로 발견되는 위치를 반환 | int |
isEmpty() | 문자열이 비어있는지 확인 | boolean |
lastIndexOf() | 문자열에서 매개변수의 문자가 마지막으로 발견되는 위치를 반환 | int |
length() | 지정한 문자열의 길이를 반환 | int |
replace(target , replacement ) | 문자열에서 지정된 값을 검색, 지정된 값을 대체값으로 교체한 후 수정된 문자열을 반환 | String |
replaceAll(regex , replacement ) | 지정된 정규식과 일치하는 문자열의 각 하위 문자열을 지정된 대체 문자열로 바꿈 *정규표현식이라는 특수한 인자값 때문에 특수기호를 사용함에 있어 제약이 걸릴 수 있음 - 특수기호를 변경할때는 replace 사용을 권장 (특수기호를 문자 그대로로 보지 않고 토큰으로 사용함) | String |
split(regex, int limit) | 문자열을 매개변수의 문자를 기준으로 문자열을 잘라서 배열에 넣음 *두번째 인자값이 있다면 그 인자값은 배열의 크기를 저장한다(배열의 크기가 남아있는 만큼 나누고 배열 크기를 다 썼을때까지 나누지 못한 부분은 마지막 인덱스에 한번에 저장) *인자로 들어가는 String 토큰이 regex 정규식이기 때문에 기호를 split의 인자로 쓸 때 작동을 안하면 \\을 붙여보자 (일부는 \) | String[] |
toCharArray() | 문자열을 문자배열(char[])로 변환해서 반환 | char |
subString(int start) | start 인덱스부터 문자열의 끝까지 추출 | String |
subString(int start, int end) | start 인덱스부터 end 직전까지 문자열 추출 | String |
toLowerCase() | String 인스턴스에 저장되어있는 모든 문자열을 소문자로 변환 | String |
toUpperCase() | String 인스턴스에 저장되어있는 모든 문자열을 대문자로 변환 | String |
startsWith(String str) | str 문자열로 시작되면 true 반환 | boolean |
endsWith(String str) | str 문자열로 끝나면 true 반환 | boolean |
trim() | 문자열 양 옆(왼쪽 끝, 오른쪽 끝)에 있는 공백을 없앤 후 반환 | String |
valueOf(모든 자료형) | 어떠한 자료형이던 인자로 전달되면 그 값을 문자열로 변환하여 반환한다. 참조변수의 경우 toString()을 호출한 결과를 반환한다. |
String a = "코딩공부";
char result = a.charAt(0); //result에 '코'가 저장됨
String b = "하는중";
String ab = a.concat(b);
String [] res = a.split("딩|코"); //res[0]=" ",res[1]=" ", res[2]="공부" 로 저장됨, 정규식의 모든 기준을 동시에 검사함
String str = "my puppy";
char arr[] = str.toCharArray();
arr[3] = 'm'
System.out.println(arr); // my muppy 로 출력됨
toString 함수
- Object 클래스 내부에 toString 함수가 존재
- 객체를 문자열로 변환하기 위한 메소드
- 오버라이딩을 통해 원하는 값을 리턴하도록 메소드를 작성한다 (오버라이딩 전에는 클래스 이름@객체주소가 출력된다)
- 객체를 선언하고 그 객체 이름을 print 하였을 때 리턴값을 객체의 시스템 주소 값이 아닌 의미있는 값으로 재설정시키는 역할(현 객체에 대한 스트링 표현을 리턴)
- valueOf 메소드와 함께 쓰지 않고 toString만 쓸 때는 System.out.println(참조변수.toString()); 으로 출력한다
class tos {
int a = 1;
int b = 2;
public String toString() {
return "a : " + this.a + ", " + "b : " + this.b ;
} //toString 함수는 객체의 참조타입이 되는 클래스에 만든다
}
public class Main {
public static void main(String[] args) {
tos obj = new tos();
String res = String.valueOf(obj);
System.out.println(res);
}
}
'언어 공부 내용 정리 > Java' 카테고리의 다른 글
자바 객체지향(1) (0) | 2023.06.09 |
---|---|
자바 메소드 (0) | 2023.06.07 |
자바 문자열(String) / 스택(stack)과 힙(heap) (0) | 2023.05.26 |
구름에듀 생활코딩 자바 13강 (0) | 2023.05.21 |
구름에듀 생활코딩 자바 11강~12강 (0) | 2023.05.18 |