Sio's Programming

JAVA_String의 이해 본문

Programming/JAVA

JAVA_String의 이해

SSio 2018. 5. 2. 23:25



String의 주요 기능들(메소드)


concat : 문자열 연결

substring : 문자열 자르기

length : 문자열 길이

toUpperCase : 대문자로 만들기

toLowerCase : 소문자로 만들기

charAt : 특정위치의 글자 찾기

indexOf : 특정문자열의 위치

equals : 문자열 비교

trim : 문자열 공백제거

replace : 특정문자 변경

replaceAll : 특정문자열 변경


public class StringTest {
public static void main(String[] args) {
String str1= "abcdefg";
String str2= "HIJKLMN";
String str3= "opqrstu";
System.out.println(str1.concat(str2));
System.out.println(str1.substring(3));
System.out.println(str1.length());
System.out.println(str1.toUpperCase());
System.out.println(str1.toLowerCase());
System.out.println(str1.charAt(3));
System.out.println(str1.indexOf('c'));
String str4="abcdefg";
System.out.println(str1.equals(str4));
String str5 = " abc def ghi ";
System.out.println(str5.trim());//문자열 공백을 제거한다 > 회원가입할때 앞에 사용자가 실수로 공백 입력 했을때 디비랑 비교시 사용
System.out.println(str1.replace('a', 'Z'));
System.out.println(str1.replaceAll("abcd", "ZZZZZZZ"));
System.out.println(str1);
}
}


String 클래스는 많이 쓰이고, 좋은 메소드를 많이 가지고 있다.

하지만 치명적인 단점이 있는데 바로 메모리르 과소비 하는 것

String = "ABC"

-> ABC + DEF -> String1 + "DEF " 이것이 아니다 (X)

-> ABC / ABCDEF ->String1 + "DEF" (ㅇ)

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

StringBuffer 와 StringBuilder의 등장

String 클래스의 새로운 메모리를 생성하는 문제로 인해 속도가 느려지는 현상이 있습니다.

그래서 속도적인 측면에서 더욱 개선된 StringBuffer와 StringBulder가 등장 합니다.

StringBuilder 주요 기능

Append : 문자열 추가

insert : 특정 위치에 문자열 추가

delete : 문자열 삭제

deleteCharAt : 특정 문자 하나 삭제

StringBuilder stringBuilder = new StringBuilder("abcdefg");

stringBuilder.append("hijklmn");

stringBuilder.insert(3,'AAA');

stringBuilder.delete(3, 5); 3~ 5앞에 삭제

stringBuilder.deleteCharAt(10);


'Programming > JAVA' 카테고리의 다른 글

List 계열 컬렉션 <ArrayList>  (0) 2018.05.02
컬렉션  (0) 2018.05.02
싱글톤 인스턴스  (0) 2018.05.02
StringTokenizer 클래스  (0) 2018.05.02
Timer 클래스  (0) 2018.05.02