'String class'에 해당되는 글 2건

  1. 2020.11.02 스트링 클래스의 문제점
  2. 2020.11.02 StringBuffer

String Class - 문자열을 다룰 때 사용하는 클래스(불변 클래스)

 

자바 언어는 new 연산자가 많이 사용될수록 프로그램의 속도가 느려짐

 

--------------------------------

package JavaStudy;

public class StringEx {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str1 = "hello world";
		String str2 = str1.substring(5); // substring 메서드는 5번째 부터 문자열을 잘라서 새로운 문자열을 반환하는 메서드
		System.out.println(str1); // str1 자체는 변화 하지 않음
		System.out.println(str2);
		
		// String Class를 사용할때 문제가 발생하는 경우
		String str3 = str1 + str2; // 문자열과 문자열은 +로 결합 할 수 있음
		System.out.println(str3);
		
		String str4 = new StringBuffer().append(str1).append(str2).toString();
		System.out.println(str4); // 문자열을 +로 붙이게 되면 항상 StringBuffer라는 객체가 만들어짐
		
		String str5 = "";
		for(int i = 0; i < 100; i++) {
			str5 = str5 + "*";
		}
		System.out.println(str5);
		
		// 빈번하게 String의 + 연산이 일어나게 될 경우
		StringBuffer sb = new StringBuffer();
		for(int i = 0; i < 100; i++) {
			sb.append("*");
		}
		String str6 = sb.toString();
		System.out.println(str6);
	}

}

'자바' 카테고리의 다른 글

Math  (0) 2020.11.03
StringBuffer  (0) 2020.11.02
Java.lang 패키지/오토 박싱  (0) 2020.10.20
Object와 오버라이딩  (0) 2020.10.14
EClipse  (0) 2020.10.14
Posted by khon98
,

StringBuffer

자바 2020. 11. 2. 22:46

String Class

- 자기 자신이 변하지 않는 불변의 클래스

 

StringBuffer Class

- 자기 자신이 변하는 클래스

- Method Chaining 방식을 사용할 수 있도록 만들어져 있음

 

Method Chaining

- 자기 자신을 리턴하여 계속해서 자신의 메서드를 호출하는 방식

 

StringBuffer가 가지고 있는 메서드들은 대부분 자기 자신을 반환함

 

------------------------------------

package JavaStudy;

public class StringBufferEx {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		StringBuffer sb = new StringBuffer();
		sb.append("hello");
		sb.append(" ");
		sb.append("world");
		
		String str = sb.toString();
		System.out.println(str);
		
		StringBuffer sb2 = new StringBuffer();
		StringBuffer sb3 = sb2.append("hello");
		if(sb2 == sb3)
			System.out.println("sb2 == sb3");
		
		String str2 = new StringBuffer().append("hello").append(" ").append("world").toString();
		System.out.println(str2);
	}

}

'자바' 카테고리의 다른 글

Math  (0) 2020.11.03
스트링 클래스의 문제점  (0) 2020.11.02
Java.lang 패키지/오토 박싱  (0) 2020.10.20
Object와 오버라이딩  (0) 2020.10.14
EClipse  (0) 2020.10.14
Posted by khon98
,