개발계발
자바 문자열 타입 본문
자바의 문자열은 String이라는 객체로 생성된다. 아래와 같이 변수를 선언하고 대입하거나, 선언과 동시에 대입할 수 있다.
String name;
name = "홍길동";
String hobby = "여행";
위와 같이 선언하면 메모리의 스택 영역에는 변수명과 해당 객체의 번지가 저장되고, 힙영역에 실제 객체가 생성된다.
만약 아래와 같이 변수에 값을 대입하면,
String name1 = "홍길동";
String name2 = "홍길동";
name1과 name2 변수에는 동일한 번지가 저장된다.
동일한 객체를 아예 새롭게 생성하려면 아래와 같이 선언해야 한다.
String name1 = new String("홍길동");
String name2 = new String("홍길동");
위 두가지 방식 중 어떤 것을 선택했냐에 따라 비교 연산자의 결과가 달라진다.
예를 들어 아래와 같은 변수들이 있을 때,
String name1 = "홍길동";
String name2 = "홍길동";
String name3 = new String("홍길동");
위 3변수의 비교연산자의 결과는 아래와 같다.
name1 == name2 // true
name1 == name3 // false
내부 문자열만을 비교할 경우에는 equlas() 메서드를 사용해야 한다.
boolean result = name1.equals(name3); // true
문자 추출
특정 위치의 문자를 얻고 싶으면 charAt() 메소드를 쓰면 된다. 파이썬에서 문자열[index]과 같은 기능을 한다.
String subject = "자바 프로그래밍";
char charValue = subject.charAt(3); // "프"가 저장됨
문자열 길이
length() 메소드를 이용하면 된다. 파이썬에서 len(문자열)과 같은 기능을 한다.
String subject = "자바 프로그래밍";
int length = subject.length(); // 8이 저장됨
문자열 대체
replace() 메서드를 이용하면 된다. 2개의 매개변수를 받으며, (기존문자열, 변경문자열)을 넣으면 된다.
String oldStr = "자바 프로그래밍";
String newStr = oldStr.replace("자바", "JAVA"); // "JAVA 프로그래밍"
문자열 잘라내기
substring() 메서드를 사용하며, 하나 혹은 2개의 매개변수를 받는다.
메서드(매개변수 수의 차이) | 설명 |
substring(int beginIndex) | beginIndex에서 끝까지 자르기 |
substring(int beginIndex, int endIndex) | beginIndex에서 endIndex 앞까지 자르기 |
String ssn = "123456-7891011"
String fisrtNum = ssn.substring(0,6); // 123456
String secondNum = ssn.substring(7); // 7891011
문자열 찾기
indexOf() 메소드로, 특장 문자열의 위치를 찾아준다.
String subject = "자바 프로그래밍";
int index = subject.indexOf("프로그래밍"); // 3
위치가 아니라 포한된지 아닌지를 조하하고 싶으면 contain() 메소드를 이용하면 된다.
문자열 분리
split() 메소드, 특정 문자를 기준으로 문자열을 분리해 배열을 얻을 수 있다.
String board = "번호,제목,내용,글쓴이";
String[] arr = board.split(","); // ["번호","제목","내용","성명"]
'자바' 카테고리의 다른 글
상속 (1) | 2024.04.26 |
---|---|
접근 제한자 (0) | 2024.04.26 |
final 키워드 (0) | 2024.04.26 |
인스턴스 멤버와 정적 멤버 (0) | 2024.04.26 |
객체 지향 프로그래밍 (0) | 2024.04.26 |