# STRING CLASS
l java.lang 패키지
- java.lang 패키지는 자바 프로그램에서 가장 많이 사용되는 패키지로서 자바 프로그램에서 “import”문을 사용하지 않아도 자동으로 포함된다
- 그만큼 자바 프로그램의 기본이 되는 클래스들과 인터페이스들이 포함 되어 있다
l 자바 클래스의 구조
l object 클래스의 주요 메소드
- java.lang.Object 클래스는 자바 API의 모든 클래스와 사용자가 정의한 모든 클래스들의 최상의 클래스이다.
- 모든 자바 클래스들은 object 클래스들로부터 상속을 받는다
메소드 | 설명 |
boolean equals(object obj) | 두 개의 객체가 같은지 비교하여 같으면 true를 같지 않으면 false를 반환 |
String toString() | 현재 객체의 문자열을 반환 |
protected Object clone() | 객체를 복사 |
protected void finalize() | 가비지 컬렉션 직전에 객체의 리소스를 정리할 때 호출 |
Class getClass() | 객체의 클래스형을 반환 |
int hashCode() | 객체의 코드값을 반환 |
void notify() | wait된 스레드 실행을 재개할 때 호출 |
void notifyAll() | wait된 모든 스레드 실행을 재개할 때 호출 |
void wait() | 스레드를 일시적으로 중지할 때 호출 |
void wait(long timeout) | 주어진 시간만큼 스레드를 일시적으로 중지할 때 호출 |
void wait(long timeout, int nanos) | 주어진 시간만큼 스레드를 일시적으로 중지할 때 호출 |
l String 클래스에서 자주 사용하는 메소드
함수 | 반환형 | 설명 |
charAt(int index) | char | index로 지정된 첨자 위치에 있는 문자를 반환 |
compareTo(String str) | int | 이 string이 string str보다 사전적 순서에서 앞서면 음수 값, 같으면 0, 뒤에 있으면 양의 정수 값을 반환 |
concat(String str) | String | 이 String이 str과 같은 문자열이면(대소문자 구분) True, 그렇지 않으면 False 반환 |
equals(String str) | boolean | 이 string이 str과 같은 문자열이면(대소문자 미 구분) True, 그렇지 않으면 False 반환 |
length() | int | 이 String의 문자 개수를 반환한다 |
replace(int offset, int endindex) | String | String에 나타나는 oldChar를 모두 new Char로 변경한다 |
substring(int offset, int endindex) | String | 이 String의 offset 위치에서부터 endindex-1까지에 걸친 문자열을 반환한다 |
toLowerCase() | String | 모든 대문자를 소문자로 변환한다 |
toUpperCase() | String | 모든 소문자를 대문자로 변환한다 |
string 클래스 활용 | |
public class StringClass {
public static void main(String[] args){
String text = "First String V"; String concat, upperCase, replace, subString;
System.out.println("기본 String : "+ text); System.out.println("기본 String 길이 : "+text.length()); // 문자열 길이 출력
concat = text.concat(", Second String V"); // 문자열 연결 upperCase = concat.toUpperCase(); // 문자열 대문자로 변환 replace = upperCase.replace('V', 'K'); // 문자 V를 K로 변환 subString = replace.substring(3, 10); // 3~9 문자열 잘라내기
System.out.println("Concat String : " + concat); System.out.println("upperCase String : " + upperCase); System.out.println("replace String : " + replace); System.out.println("subString String : " + subString);
} }
| |
결과값 | 기본 String : First String V 기본 String 길이 : 14 Concat String : First String V, Second String V upperCase String : FIRST STRING V, SECOND STRING V replace String : FIRST STRING K, SECOND STRING K subString String : ST STRI
|
string 클래스 활용(equals) | |
public class StringClass {
public static void main(String[] args) { System.out.print("첫번째 글자는 ? "); Scanner keyboard = new Scanner(System.in); String str1 = keyboard.nextLine();
System.out.print("두번째 글자는 ? "); Scanner keyboard2 = new Scanner(System.in); String str2 = keyboard2.nextLine();
if (str1.equals(str2)) { System.out.println("같은문자입니다"); } else System.out.println("다른문자입니다");
} }
| |
결과값 | 첫번째 글자는 ? 1 두번째 글자는 ? 1 같은문자입니다
- if(str1==str2) 는 성립하지 않는다 - == 기호는 같은 인스턴스에서 첨조할 수 있기 때문에 str과 str2는 다른 인스턴스에서 참조하기 때문에 비교가 안된다 - 인스턴스안의 문자열을 가지고 같은지 다른지 비교하려면 string 클래스의 equals 메소드 활용 |
string 클래스 활용(compareTo) - compareTo는 문자열이 같으면 0을 반환 | |
public class StringClass {
public static void main(String[] args) { System.out.print("첫번째 글자는 ? "); Scanner keyboard = new Scanner(System.in); String str1 = keyboard.nextLine();
System.out.print("두번째 글자는 ? "); Scanner keyboard2 = new Scanner(System.in); String str2 = keyboard2.nextLine();
if (0==str1.compareTo(str2)) { System.out.println("같은문자입니다"); } else System.out.println("다른문자입니다");
} } | |
결과값 | 첫번째 글자는 ? 1 두번째 글자는 ? 1 같은문자입니다 |
'빅데이터과정 > JAVA' 카테고리의 다른 글
#55_140829_JAVA_SCANNER CLASS (0) | 2014.08.29 |
---|---|
#55_140829_JAVA_SYSTEM CLASS (0) | 2014.08.29 |
#55_140829_JAVA_THIS (0) | 2014.08.29 |
#54_140828_JAVA_OVERLOADING (0) | 2014.08.28 |
#54_140828_JAVA_STATIC (0) | 2014.08.28 |