Programming Language/Java

Java 9์ผ์ฐจ ๊ณต๋ถ€(Java API[String Class])

chaerlo127 2022. 2. 26. 18:39
728x90

String ํด๋ž˜์Šค๋Š” String ๊ฐ์ฒด๋กœ ์ž๋™ ์ƒ์„ฑ ๋˜์ง€๋งŒ, ๋‹ค์–‘ํ•œ ์ƒ์„ฑ์ž๋ฅผ ์ด์šฉํ•ด์„œ String ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

// ๋ฐฐ์—ด ์ „์ฒด๋ฅผ String ๊ฐ์ฒด๋กœ ์ƒ์„ฑ
String str = new String(byte[] bytes);

// ์ง€์ •ํ•œ ๋ฌธ์ž์…‹์œผ๋กœ ๋””์ฝ”๋”ฉ
// ๋ฌธ์ž์…‹ ์˜ˆ์‹œ : UTF-8
String str = new String(byte[] bytes, String charseName); 

//๋ฐฐ์—ด์˜ offset ์ธ๋ฑ์Šค ์œ„์น˜๋ถ€ํ„ฐ length ๋งŒํผ String ๊ฐ์ฒด ์ƒ์„ฑ
String str = new String(byte[] bytes, int offset, int length);

// ์ง€์ •ํ•œ ๋ฌธ์ž์…‹์œผ๋กœ ๋””์ฝ”๋”ฉ
String str = new String(byte[] bytes, int offset, int length, String charseName);

 

public static void main(String[] args) {
		byte[] bytes = {72, 101, 108, 108, 111, 32, 74, 97, 118, 97}; // Hello java
		
		String str1 = new String(bytes);
		System.out.println(str1);
		
		String str2 = new String(bytes, 0, 5);
		System.out.println(str2);
	}

 

- String Method

1, ๋ฌธ์ž ์ถ”์ถœ(charAt())

: ๋งค๊ฐœ ๊ฐ’์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ธ๋ฑ์Šค(0๋ถ€ํ„ฐ ๋ฌธ์ž์—ด ๊ธธ์ด -1)์™€ ๋ฌธ์ž๋ฅผ ๋ฆฌํ„ด

String subject = "์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ";
char charValue = subject.charAt(3); // 'ํ”„' ๋ฌธ์ž ์ถœ๋ ฅ

 

2. ๋ฌธ์ž์—ด ๋น„๊ต(equals())

: ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•ด์ค€๋‹ค.

๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋”๋ผ๋„ ๋‹ค๋ฅธ ํƒ€์ž…๋งŒ ์•„๋‹ˆ๋ฉด ๊ฐ์ฒด์˜ ๋น„๊ต๊ฐ€ ์•„๋‹Œ ๊ฐ์ฒด๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 ๊ธฐ๋ณธ ํƒ€์ž…(byte, char, short, int, long, float, double, boolean) ๋ณ€์ˆ˜ ๊ฐ’์€ "==" ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ

String str1= new String("๊ฐ€๋‚˜๋‹ค");
String str2 = "๊ฐ€๋‚˜๋‹ค";
String str3 = " ๊ฐ€๋‚˜๋‹ค";

str2์™€ str3๋Š” ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ณ , ๊ฐ™์€ ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ์œผ๋ฏ€๋กœ str2 == str3 ๋Š” true ๊ฐ€ ๋œ๋‹ค. ํ•˜์ง€๋งŒ, str1๊ณผ str2, ํ˜น์€ str1๊ณผ str3๋Š” ๊ฐ™์€ ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— str1 == str2, str1 == str3๋Š” false๊ฐ€ ๋œ๋‹ค.

 

์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋”๋ผ๋„ ๊ฐ™๊ฒŒ ํ•˜๋ ค๋ฉด == ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹Œ equals ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

3. ๋ฐ”์ดํŠธ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜(getBytes())

: ๋ฌธ์ž์—ด์„ ๋ฐ”์ดํŠธ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ๋œ๋‹ค. 

- ์ธ์ฝ”๋”ฉ: ๋ฌธ์ž์—ด -> ๋ฐ”์ดํŠธ ์ฝ”๋“œ

- ๋””์ฝ”๋”ฉ : ๋ฐ”์ดํŠธ ์ฝ”๋“œ -> ๋ฌธ์ž์—ด

// ์ธ์ฝ”๋”ฉ
byte[] bytes = "๋ฌธ์ž์—ด".getBytes();
byte[] bytes = "๋ฌธ์ž์—ด".getBytes(String charset);

//๋””์ฝ”๋”ฉ
String str = new String(byte[] bytes, String charsetName);
String str = new String(byte[] bytes);

 

4. ๋ฌธ์ž์—ด ์ฐพ๊ธฐ(indexOf())

: indexOf() ๋ฉ”์†Œ๋“œ๋Š” ๋งค๊ฐœ๊ฐ’์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์‹œ์ž‘๋˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

String subject = "์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ";
int index = subject.indexOf("ํ”„๋กœ๊ทธ๋ž˜๋ฐ"); // 3

 

์ฃผ์–ด์ง„ ๋ฌธ์ž๊ฐ€ ํฌํ•จ ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด -1์„ ์ถœ๋ ฅํ•˜๊ณ , ์•„๋‹ˆ๋ฉด ์œ„์น˜ํ•œ ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

5. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด(length())

: length() ๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

 

String subject = "์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ";
int length = subject.length(); // 8

 

๊ณต๋ฐฑ์„ ํฌํ•จํ•˜์—ฌ 8๊ฐœ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

 

6. ๋ฌธ์ž์—ด ๋Œ€์น˜(replace())

: ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๊ฐ’์ธ ๋ฌธ์ž์—ด์„ ์ฐพ์•„ ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๊ฐ’์ธ ๋ฌธ์ž์—ด๋กœ ๋Œ€์น˜ํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค.

String subject = "์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ";
Strign subject2 = subject.replace("์ž๋ฐ”", "java"); // java ํ”„๋กœ๊ทธ๋ž˜๋ฐ

 

7. ๋ฌธ์ž์—ด ์ž˜๋ผ๋‚ด๊ธฐ(subString())

: ์ฃผ์–ด์ง„ ์ธ๋ฑ์Šค์—์„œ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•œ๋‹ค. 

subString(int beginIndex, int endIndex);
subString(int beginIndex);

//์˜ˆ์‹œ
String subject = "์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ";
String javaName = subject.subString(0,2); // ์ž๋ฐ”
String programmingName = subject.subString(4); // ํ”„๋กœ๊ทธ๋ž˜๋ฐ

 

8. ์•ŒํŒŒ๋ฒณ ์†Œ ๋Œ€๋ฌธ์ž ๋ณ€๊ฒฝ(toLowerCase(), toUpperCase())

: toLowerCase ๋Š” ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ, toUpperCase๋Š” ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•œ ํ›„ ๋ฆฌํ„ดํ•œ๋‹ค.

String original = "Java Programming";
String lowerCase = original.toLowerCase(); // java programming
String upperCase = original.toUpperCase(); // JAVA PROGRAMMING

lowerCase์™€ upperCase๋Š” ์„œ๋กœ ๊ฐ™์€ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์–ด๋„ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ ์ƒ์œผ๋กœ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ธ€์ž์ด๋‹ค. ์ด๋ฅผ ๊ฐ™์€ ๊ธ€์ž๋กœ ์ธ์‹ํ•˜๊ณ ์ž ํ•˜๋ ค๋ฉด "equalsIgnoreCase()"๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

 

9. ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ ์ž˜๋ผ๋‚ด๊ธฐ(trim())

: ๋ฌธ์ž์—ด ์•ž๋’ค ๊ณต๋ฐฑ์„ ์ž˜๋ผ๋‚ด์„œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฆฌํ„ดํ•œ๋‹ค.

 ์•ž ๋’ค ๊ณต๋ฐฑ๋งŒ ์ œ๊ฑฐํ•  ๋ฟ, ์ค‘๊ฐ„์˜ ๊ณต๋ฐฑ์€ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

String oldStr = " ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ";
String trimStr = oldStr.trim(); // "์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ"

 

10. ๋ฌธ์ž์—ด ๋ณ€ํ™˜(valueOf())

: ๊ธฐ๋ณธ ํƒ€์ž…์˜ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ

Java 1์ผ์ฐจ ๊ณต๋ถ€(์ž๋ฐ” ๊ธฐ์ดˆ, ๋ณ€์ˆ˜, ํƒ€์ž…๋ณ€ํ™˜) ๊ธ€์—์„œ ์ž‘์„ฑํ–ˆ๋˜ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. 

https://monynony0203.tistory.com/41

 

Java 1์ผ์ฐจ ๊ณต๋ถ€(์ž๋ฐ” ๊ธฐ์ดˆ, ๋ณ€์ˆ˜, ํƒ€์ž…๋ณ€ํ™˜)

์š”์ฆˆ์Œ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€ ๋“ฑ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ Java๋ฅผ ๊ณต๋ถ€๋ฅผ ํ•˜์ง€ ์•Š์•„ ๊ฑฐ์˜ ๊นŒ๋จน์€ ์ƒํƒœ๊ฐ€ ๋˜์—ˆ๋‹ค,, ๋ธ”๋กœ๊ทธ์— ๊ฐœ๋…๊ณผ ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด์„œ ์‰ฌ์šด ๋ถ€๋ถ„์€ ๋น ๋ฅด๊ฒŒ ๋ณต์Šตํ•˜๊ณ  ์–ด๋ ต๊ณ  ๊ณต๋ถ€ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„

monynony0203.tistory.com

728x90

 

 

[์ถœ์ฒ˜] ํ˜ผ๊ณต์ž๋ฐ” p 484 ~ 498

728x90