728x90
String Convert
String 클래스
: 고정(길이)문자열
String s1 = "우리나라";
String s2 = "대한민국만세";
s1 = s1 + s2; // "우리나라대한민국만세"
- String 클래스 객체 생성
- 문자열 변환을 위해서 임시로 StringBuffer 클래스 객체생성
- append() 메소드를 호출
- StringBuffer 객체를 String 객체로 변환
- 임시로 생성된 StringBuffer 객체를 소멸(연결하기에 비효율적임)
StringBuffer 클래스
: 가변(길이) 문자열
StringBuffer s1 = new StringBuffer("우리나라");
s1.append("대한민국만세");
public static void main(String[] args) {
StringConvertTest sct = new StringConvertTest();
sct.convert1();
sct.convert2();
}
- StringBuffer 클래스 객체 생성
- append() 메소드 실행(연결에 용이함)
[Java API에서 확인할 때]
- String타입의 메소드 실행 후 결과물의 자료형타입이 byte인 메소드 검색 (getByte())
- toCharArray / String -> char
- Deprecated =>좋지않은 메소드. 컴파일은 되지만 추천안함
특정문자열로 시작하는지 체크
str.startsWith(String prefix) // prefix = 접두사. boolean 리턴
특정문자열로 끝나는지 체크
str.endsWith(String suffix) // boolean 리턴
특정문자열이 포함되었는지 체크
str.contains(CharSequence s) //bollean 리턴
String Tokenizer
: 문자열 데이터를 특정 구분자(delimiter)를 통해 분리(token)해주는 클래스
String tel = "010-1234-5678";
StringTokenizer st = new StringTokenizer(tel, "-");
//StringTokenizer(String 기준문자열,String delimiter구분자) 생성자
//st = ["010","1234","5678] =>토큰 데이터
while(st.hasMoreTokens()) //st에 토큰 데이터를 가지고있다면 true리턴
{
System.out.println(st.nextToken());
}
String split
: 특정문자(매개변수)를 통해 데이터를 분리 → 결과: 문자열배열
String tel = "010-1234-5678";
String[] tel2 = tel.split(String regex)
//regex : regular expression 정규표현식
--
String[] tel2 = tel.split("-"); //tel = {"010","1234","5678};
for(int i = 0; i<tel2.length; i++) {
System.out.printf("tel2[%d]=%s%n",i,tel2[i]);
}
}
String tel = "010--5678"
일 때
StringTokenizer은 빈문자열 데이터는 없는 데이터로 치고
split는 빈문자열 "" 도 데이터로 저장한다
'Web develop > JAVA' 카테고리의 다른 글
[JAVA] 자바 내부클래스(Inner Class/비 정적 중첩클래스) (0) | 2019.04.29 |
---|---|
[JAVA] 자바 예외처리(Exception) 예제 (0) | 2019.04.26 |
[JAVA] 자바 클래스 객체생성법 (0) | 2019.04.24 |
[JAVA] 추상클래스(abstract class) (0) | 2019.04.24 |
[JAVA] 자바 배열(Array) (0) | 2019.04.24 |