he_6_.log
로그인
he_6_.log
로그인
Java - String 클래스
성장을 위해 잦은 이직도 감수하는 개발자
·
2022년 11월 28일
팔로우
0
Java
0
Java 정리
목록 보기
31/59
String 클래스
자바에서는 문자열을 위한 클래스를 제공
String 클래스는 문자열을 저장하고 이를 다루는데 필요한 메서드를 함께 제공
변경 불가능한(immutable) 클래스
String 클래스에는 문자열을 저장하기 위해서 문자형 배열(char[]) 참조변수 value를 인스턴스 변수로 정의해놓고 있다.
인스턴스 생성 시(new String(매개변수)) 생성자의 매개변수로 입력받는 문자열은 이 인스턴스변수 value에 문자형 배열로 저장되는 방식 입니다.
한번 생성된 String 인스턴스가 갖고 있는 문자열은 읽어 올수만 있고 변경할 수 없습니다. +를 사용해서 문자열을 결합할때 인스턴스에 저장되어 있는 문자열이 변경 되는것이 아니라 새로운 String 인스턴스가 생성 되는 것 입니다.
문자열 결합을 자주하게 되면 성능이 떨어지기 때문에 자주 문자열 결합을 해야될 때는 StringBuffer를 이용하기
문자열의 비교
문자열을 가진 인스턴스는 하나만 만들어져서 공유한다. 여러개의 변수로 문자열을 저장하면 모든 변수들은 하나의 인스턴스를 가리킨다.
new 연산자를 이용해서 문자열을 만들면 문자열 내용이 같아도 항상 새로운 인스턴스를 만들어 문자열이 만들어진다. new를 이용해 문자열을 저장할 일은 별로 없다. 사용 안하는것이 좋음
문자열의 내용을 비교할때는 equlas() 사용 "=="은 인스턴스의 주소를 비교하기 때문이다.
문자열 리터럴
문자열 리터럴은 프로그램이 실행되면 자동으로 만들어져 constant pool(상수 저장소)에 저장된다.
같은 내용의 문자열 리터럴은 하나만 만들어진다.
빈 문자열(empty string)
내용이 없는 문자열을 말한다. 길이가 0인 char형 배열을 저장하는 문자열이다.
길이가 0인 배열을 생성하는 것은 어느 타입이가 가능하다. char,int,short,long 등등...
문자와 문자열의 초기화
String str = ""; // 빈 문자열 초기화
char c = ' '; // 공백 초기화 char c = '';는 표현 불가
성장을 위해 잦은 이직도 감수하는 개발자
독학 개발자 입니다. 성장을 위해서 최선을 다하고 있습니다.
팔로우
이전 포스트
Java - String 클래스 compareTo() 메서드
다음 포스트
Java - join()과 StringJoiner
0개의 댓글
댓글 작성