문자열 비교 (==, equals)
- 자바의 문자열은 String 객체로 생성 (참조 타입)
- char타입과 다르게 빈 문자열 (”“)를 대입할 수도 있음
- 자바는 문자열 리터럴이 동일하다면 String 객체를 공유함
- new 연산자로 직접 String 객체를 생성하고 대입할 수도 있음
- new 연산자는 새로운 객체를 만드는 연산자로 객체 생성 연산자라고도 함
String name1 = "홍길동";
String name2 = "홍길동";
String name3 = new String"홍길동";
name1 == name2 // true
name1 == name3 // false
- 내부 문자열을 비교할 경우에는 equals() 메소드 사용 (대소문자 구분)
boolean result = str1.equals(str2); //같은지 검사
boolean result = !str1.equals(str2); //다른지 검사
문자 추출 (charAt)
- 문자열에서 특정 위치의 문자를 얻고 싶을 때 사용
- 매개값으로 주어진 인덱스의 문자 리턴
String subject = "자바 프로그래밍";
char charValue = subject.charAt(3); // '프'
문자열 길이 (length)
String subject = "자바 프로그래밍";
int length = subject.length(); // 8 반환
문자열 대체 (replace)
- 특정 문자열을 다른 문자열로 대체할 때 사용
- 기존 문자열은 그대로 두고 대체한 새로운 문자열 리턴
- String 객체의 문자열은 변경이 불가 (불변) 하므로 replace 메소드가 리턴하는 문자열은 수정본이 아니라 새로운 문자열임
String oldStr = "자바 프로그래밍";
String newStr = oldstr.replace("자바", "JAVA");
문자열 잘라내기 (substring)
- 문자열에서 특정 위치의 문자열을 잘라내서 가져올 때 사용
- substring(a) : a에서 끝까지 잘라내기
substring(a, b) : a에서 b 앞까지 잘라내기
String ssn = "880815-1234567";
String a = ssn.substring(0,6); // 880815
String b = ssn.substring(7); //1234567
문자열 찾기 (indexOf, contains)
- indexOf
- 문자열에서 특정 문자열의 위치를 찾고자 할 때 사용
- 주어진 문자열이 시작되는 인덱스 리턴
- 주어진 문자열이 포함되어 있지 않으면 -1 리턴
- substring과 결합해서 사용될 수 있음
String subject = "자바 프로그래밍";
int index = subject.indexOf("프로그래밍"); //3
- contains
- 문자열이 단순히 포함되어 있는지만 조사
- 포함되어 있으면 true, 없으면 false 리턴
boolean result = subject.contains("프로그래밍");
문자열 분리 (split)
- 문자열이 구분자를 사용하여 여러 개의 문자열로 구성되어 있을 경우, 이를 따로 분리해서 얻고싶을 때 사용
String board = "번호,제목,내용,글쓴이";
String [] arr = board.split(",");