String
- String 클래스는 문자열에 대한 작업을 할 수 있도록 제공되는 클래스이다
- 코드상에 " " 로 묶인 문자열도 String 클래스의 객체이다
- " " 로 묶인 문자열은 가상 머신이 객체를 생성하고 소멸까지도 담당한다
- 프로그래밍을 할 때는 " " 로 쓰지만 컴파일을 하게 되면 실제로 String 클래스로부터 객체를 생성하는 것으로 변경된다
주요 메서드
- equals( ) : 문자열 내용을 비교
- equlasIsIgnoreCase( ) : 대소문자를 무시한 문자열 비교
- toUpperCase( ) : 소문자를 대문자로 변경
- toLowerCase( ) : 대문자를 소문자로 변경
- startsWith( ) : ~로 시작여부 검사
- endsWith( ) : ~로 끝나는지 여부 검사
- indexOf( ) : 문자열이 어디에 들어 있는지
- getBytes( ) : 문자열을 바이트화 시킨다
- length( ) : 문자열 길이 측정
- substring( ) : 문자열의 일부를 가지고 온다
- trim( ) : 좌우 공백 제거
StringTest.java
---------------------------------------------------------------------------------------------------------------
String str1 = "안녕하세요";
// 문자열 비교
if(str1 == "안녕하세요") {
System.out.println("문자열은 같습니다");
} else {
System.out.println("문자열은 다릅니다");
}
String str2 = new String("안녕하세요");
if(str1 == str2) {
System.out.println("두 문자열의 주소 값은 같습니다");
} else {
System.out.println("두 문자열의 주소값은 다릅니다");
}
String str3 = "안녕하세요";
if(str1 == str3) {
System.out.println("두 문자열의 주소값은 같습니다");
} else {
System.out.println("두 문자열의 주소값은 다릅니다");
}
// 실제 내용 값을 비교
if(str1.equals(str2)) {
System.out.println("두 문자열은 같습니다");
} else {
System.out.println("두 문자열은 다릅니다");
}
String eng1 = "abCDef";
String eng2 = "ABcDEF";
if(eng1.equals(eng2)) {
System.out.println("문자열의 내용은 같습니다");
} else {
System.out.println("문자열의 내용은 다릅니다");
if(eng1.equalsIgnoreCase(eng2)) {
System.out.println("대소문자를 무시하면 같습니다");
} else {
System.out.println("대소문자를 무시해도 같습니다");
}
String upperStr = eng1.toUpperCase( );
System.out.println(upperStr);
String lowerStr = eng1.toLowerCase( );
System.out.println(lowerStr);
String str4 = "abcdef";
if(str4,startsWith("abc")) {
System.out.println("abc로 시작합니다");
} else {
System.out.println("abc로 시작하지 않습니다");
}
if(str4,endssWith("def")) {
System.out.println("def로 끝납니다");
} else {
System.out.println("def로 끝나지 않습니다");
}
System.out.println(str4.indexOf("c"));
System.out.println(str4.indexOf("cd));
System.out.println(str4.indexOf("ccc"));
byte [ ] br = str4.getBytes( );
for(int i = 0 ; i < br.length ; i++) {
System.out.println(br[i] + " " );
}
System.out.println( );
String str100 = new String(br);
System.out.println(str100);
String str5 = str4.substring(2, 3);
System.out.println(str5);
System.out.println(str4.length( ));
System.out.println("안녕하세요".length( ));
String str6 = " 안녕하세요 "
String str7 = str6.trim( );
System.out.println(str6);
System.out.println(str7);
---------------------------------------------------------------------------------------------------------------
Console
---------------------------------------------------------------------------------------------------------------
문자열은 같습니다
두 문자열의 주소값은 다릅니다
두 문자열의 주소값은 같습니다
두 문자열은 같습니다
문자열의 내용은 다릅니다
대소문자를 무시하면 같습니다
ABCDEF
abcdef
abc로 시작합니다
def로 끝납니다
2
2
-`
97 98 99 100 101 102
abcdef
c
6
5
3
안녕하세요
안녕하세요
---------------------------------------------------------------------------------------------------------------
'자바' 카테고리의 다른 글
StringTokenizer (0) | 2020.07.06 |
---|---|
Java StringBuffer (0) | 2020.07.06 |
Java Runtime Class (0) | 2020.07.04 |
Java wrapper (0) | 2020.07.04 |
자바 예외처리 (0) | 2020.06.30 |