자바에서는 문자열의 처리를 위하여
String, StringBuffer, StringBuild, StringTokenizer의
클래스를 제공한다.
그중에서 가장 기본이며, 많이 사용하는 것은 String
String은 변하지 않는 문자열 처리에 적합하며
StringBuffer, StringBuild 는 변하는 문자열 처리에 적합하다.
또한, StringTokenizer는 문자열을 특정 문자로 분리하고자 할 때 사용한다.
[ 참고 ] String 공식 매뉴얼
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
String 특별 취급!
String은 참조자료형 이지만 다른 클래스들과는 좀 특별취급. 마치 기본 자료형 처럼 사용할 수 있다.
보통 참조자료형은 배열처럼
int []arr = new int();
이렇게 써야 하지만 String은 자주 쓰기 때문에 특별 취급
String a = new String("hello"); 라고 써야 하지만 아래처럼 쓸 수 있다.
String a = "hello";
ㅁ String 참고
ㄴ String의 객체는 불변. 참조변수는 변할 수 있다. 값이 바뀌는게 아니라 바라보는(참조) 것이 달라진다.(1000번지 보던 것을 2000번지를 본다) 기존 java를 1000번지라고 하면 java 문자열이 있던 곳은 더 이상 누구도 참조되지 않는 메모리 "가비지"가 된다.
가비지는 쓰레기 데이터로 많은 경우 메모리를 차지하기 때문에(자바는 자동 삭제가 되기는 하지만) 만약 자주 바뀌는 경우에는 String이 아닌 변하는 문자열 처리 명령어를 쓰는 것이 좋다.
------------------------------------------------------------------------------------
class StringTest01
{
public static void main(String[] args)
{
String title = new String("java");
System.out.println(title);
title = "python";
System.out.println(title);
}
}
------------------------------------------------------------------------------------
(결과값)
java
python
'Java | spring > Java Basic' 카테고리의 다른 글
자바 기초, 배열 정리 (0) | 2019.05.03 |
---|---|
자바 기초, 연산자 총정리 (0) | 2019.05.03 |
자바 기초, 문자형 char (0) | 2019.05.03 |
자바, 입력 Scanner 출력 Print (0) | 2019.05.03 |
자바 자료형 : 기본자료형 (전체) (0) | 2019.01.07 |
댓글