ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/JAVA

[JAVA] StringBuffer ํด๋ž˜์Šค

NaNaRin๐Ÿ™ƒ 2021. 1. 15. 21:25

docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/StringBuffer.html

 

StringBuffer (Java SE 15 & JDK 15)

All Implemented Interfaces: Serializable, Appendable, CharSequence, Comparable public final class StringBuffer extends Object implements Serializable, Comparable , CharSequence A thread-safe, mutable sequence of characters. A string buffer is like a String

docs.oracle.com

java.lang ์— ์†ํ•ด์žˆ๋Š” ํด๋ž˜์Šค. 

 

String ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋Š” ํ•œ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ๊ทธ ๊ฐ’์„ ์ฝ๊ธฐ๋งŒ ํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์ง€๋งŒ,

StringBuffer ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋Š” ๊ทธ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฒ„ํผ๋ผ๋Š” ๋…๋ฆฝ๊ณต๊ฐ„์„ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ.

 

๋˜ํ•œ + ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ String ์ธ์Šคํ„ด์Šค์˜ ๋ฌธ์ž์—ด์„ ๊ฒฐํ•ฉํ•˜๋ฉด ํ•ฉ์ณ์ง„ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์—

๋ฌธ์ž์—ด์„ ๊ฒฐํ•ฉํ•˜๋ฉด ๊ฒฐํ•ฉํ• ์ˆ˜๋ก ๊ณต๊ฐ„์„ ๋‚ญ๋น„ํ•˜๋ฉฐ ์†๋„๋„ ๋Š๋ ค์ง„๋‹ค.

ํ•˜์ง€๋งŒ Stringbuffer ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ณต๊ฐ„์˜ ๋‚ญ๋น„๋„ ์ ๊ณ  ์†๋„๋„ ๋น ๋ฅด๋‹ค.


StringBuffer : 

 

  • StringBuffer() : ์ดˆ๊ธฐ ๋ฌธ์ž์—ด์ด ์—†๊ณ  16๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด ์ƒ์„ฑ
  • StringBuffer(String str) : ์ดˆ๊ธฐ ๋ฌธ์ž์—ด str, 16๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด ์ƒ์„ฑ
  • StringBuffer(int length) : ์ดˆ๊ธฐ ๋ฌธ์ž์—ด์ด ์—†๊ณ , length๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด ์ƒ์„ฑ

 

  • StringBuffer append(char[] str) : str๋ฅผ ํ˜„์žฌ ๋ฌธ์ž์—ด ๋์— ์ถ”๊ฐ€ (int, double, float, String, boolean, char, long, Object, StringBuffer ํ˜• ๋ชจ๋‘ ๊ฐ€๋Šฅ)
  • StringBuffer append(char[] str, int offset, int len) : str์˜ offset๋ถ€ํ„ฐ len๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ˜„์žฌ ๋ฌธ์ž์—ด ๋์— ์ถ”๊ฐ€
  • int capacity() : ํ˜„์žฌ ๋ฌธ์ž์—ด์˜ ์šฉ๋Ÿ‰ ๋ฐ˜ํ™˜
  • int indexOf(String str) : str์˜ ์ธ๋ฑ์Šค ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
  • StringBuffer insert(int offset, char[] str) : offset ์œ„์น˜์— str ์‚ฝ์ž… (int, double, float, String, boolean, char, long, Object, StringBuffer ํ˜• ๋ชจ๋‘ ๊ฐ€๋Šฅ)
  • int lastIndexOf(String str) : str์˜ ์ตœ์ข… ์ธ๋ฑ์Šค ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
  • StringBuffer replace(int start, int end, String str) : start์—์„œ end๊นŒ์ง€ ๋ฌธ์ž์—ด์„ str๋กœ ๋Œ€์ฒดํ•˜์—ฌ ๋ฐ˜ํ™˜
  • StringBuffer reverse() : ๋ฌธ์ž์—ด์˜ ์—ญ์ˆœ์œผ๋กœ ๋œ ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜
  • void setLength(int newLength) : ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ newLength๋กœ ๋ณ€ํ™˜. 0์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ธฐ์กด ๋ฌธ์ž์—ด์„ ์—†์•จ ์ˆ˜ ์žˆ๋‹ค

 

 

StringBuffer.append(str)

StringBuffer.capacity()

StringBuffer.indexOf(str)

StringBuffer.insert(3, str)

StringBuffer.lastIndexOf()

StringBuffer.replace(3, 5, str)

StringBuffer.reverse()

StringBuffer.setLength(0)

 


์˜ˆ์ œ

public class StringBufferEx {

	public static void main(String[] args) {
		
		StringBuffer sb1 = new StringBuffer();
		StringBuffer sb2 = new StringBuffer("abc");
		StringBuffer sb3 = new StringBuffer(30);
		
		System.out.println(sb1);
		System.out.println(sb2);
		System.out.println(sb3);
		System.out.println();
		
		sb1 = sb1.append("hello");
		sb2 = sb2.append(sb2);
		sb3 = sb3.append(" DEFG HI");
		
		System.out.println(sb1);
		System.out.println(sb2);
		System.out.println(sb3);
		System.out.println();
		
		System.out.println(sb1.capacity());
		System.out.println(sb2.indexOf("c"));
		System.out.println(sb2.lastIndexOf("c"));
		System.out.println();
		
		sb1 = sb1.replace(0, 1, "NOTNOT");
		sb2 = sb2.reverse();		
		sb3 = sb3.insert(0, "ab");
		
		System.out.println(sb1);
		System.out.println(sb2);
		System.out.println(sb3);
		System.out.println();
        		
		sb1.setLength(0);
		sb2.setLength(0);
		sb3.setLength(0);
		
		System.out.println(sb1);
		System.out.println(sb2);
		System.out.println(sb3);

	}
}

 

์ถœ๋ ฅ


abc


hello
abcabc
 DEFG HI

16
2
5

NOTNOTello
cbacba
ab DEFG HI




 

 

์‚ฌ์šฉ ์˜ˆ : nanarin.tistory.com/49