Search
Duplicate

String methods

νƒœκ·Έ
λ¬Έμžμ—΄
ꡬ뢄
코데카데미
length()
length() λ©”μ„œλ“œλŠ” String 의 전체 길이가 μ–Όλ§ˆμΈμ§€ μ•Œλ €μ€€λ‹€. Hello World! λ₯Ό 예둜 λ“€μžλ©΄,
H e l l o _ W o r l d !
좜λ ₯은 12 κ°€ 될 것이닀. 이둠적으둜, String 의 κΈΈμ΄λŠ” String 의 μœ λ‹ˆμ½”λ“œ μœ λ‹›μ˜ κ°œμˆ˜μ™€ κ°™λ‹€. μ΄λŠ” 띄어쓰기도 κ°œμˆ˜μ— ν¬ν•¨λ˜λŠ” 것을 보면 μ•Œ 수 μžˆλ‹€.
concat()
concat() λ©”μ„œλ“œλŠ” λ‘κ°œμ˜ String을 μ—°κ²°ν•΄μ£ΌλŠ” 역할을 ν•œλ‹€. μ•„λž˜ μ˜ˆμ‹œλ₯Ό 보자
[μ˜ˆμ‹œ μ½”λ“œ]
String name = new String("Code"); name = name.concat("cademy"); System.out.println(name);
Java
볡사
String name = "Code"; name.concat("cademy"); System.out.println(name);
Java
볡사
κ²°κ³ΌλŠ” κ°™μ§€λ§Œ μ™Όμͺ½μ²˜λŸΌ name 으둜 μž¬μ§€μ • ν•˜μ§€ μ•Šκ³ λ„ μ‚¬μš© ν•  수 μžˆλ‹€.
Output
codecademy
name 으둜 λΆˆλ¦¬λŠ” String 뒀에 concet() λ©”μ„œλ“œλ₯Ό μ“°λ©΄, μ•ˆμ— λ‹΄κ²¨μžˆλŠ” String 이 첫번째 String 뒀에 λΆ™λŠ”λ‹€λŠ” 것을 μ•Œ 수 μžˆλ‹€. 이λ₯Ό 톡해 String 자체의 값은 λ°”λ€Œμ§€ μ•Šμ€ 채 μƒˆλ‘œμš΄ 객체λ₯Ό 생성할 수 μžˆλ‹€
toString() κ³Ό concat()
toString() λ©”μ„œλ“œλŠ” concat() κ³Ό ν•¨κ»˜ μ‚¬μš©λœλ‹€. λ§Œμ•½ String 을 λ‹€λ₯Έ 객체(String 은 객체이닀) λž‘ μ—°κ²°ν•œλ‹€κ³  μƒκ°ν•΄λ³΄μž. μ΄λŠ” toString() λ©”μ„œλ“œμ˜ κ²°κ³Όλ₯Ό μ›λž˜μ˜ String 에 λ”ν•˜λŠ” 것이라고 보면 λœλ‹€. λ©”λͺ¨λ¦¬ μ£Όμ†Œλ„ μ—°κ²°λ˜λŠ”κ°€? ν•˜λ©΄ μ•„λ‹ˆλ‹€. 단지 κ²°κ³Ό κ°’λ§Œ μ—°κ²°λœλ‹€κ³  보면 λœλ‹€.
equals() 와 equalsIgnorCase()
equals() 와 equalsIgnorCase() λ‘˜λ‹€ λ¬Έμžμ—΄μ„ λΉ„κ΅ν•˜λŠ” λ©”μ„œλ“œμ΄λ‹€. ν•˜μ§€λ§Œ equals() λ©”μ„œλ“œμ˜ 경우 λŒ€/μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜μ—¬ λ˜‘κ°™μ€ λ¬Έμž₯이라도 κ²°κ³Όκ°€ μ˜ˆμƒκ³Ό λ‹€λ₯Ό 수 μžˆλ‹€. ν•˜μ§€λ§Œ equalsIgnorCase() 의 경우 λŒ€/μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— HELLOWORLD 와 helloworld λ₯Ό κ°™λ‹€κ³  μΈμ‹ν•œλ‹€.
compareTo()
compareTo() λ©”μ„œλ“œλŠ” λ‘κ°œμ˜ 값을 λΉ„κ΅ν•˜μ—¬ int κ°’μœΌλ‘œ λ°˜ν™˜ν•΄μ£ΌλŠ” λ©”μ„œλ“œμ΄λ‹€.
.compareTo() λ₯Ό μ‚¬μš©ν•  λ•Œμ—λŠ” return 값에 μœ μ˜ν•΄μ•Ό ν•œλ‹€.
λ§Œμ•½ λ©”μ„œλ“œμ˜ 리턴값이 0 인 경우 λ‘κ°œμ˜ String 은 같을 것이닀.
λ§Œμ•½ 값이 0 보닀 μž‘μœΌλ©΄ String κ°μ²΄λŠ” String 객체의 argument 보닀
μž‘λ‹€.
λ°˜λŒ€λ‘œ 값이 0 보닀 크면 String κ°μ²΄λŠ” String 객체의 argument 보닀
크닀.
[μ˜ˆμ‹œ μ½”λ“œ]
String flavor1 = "Mango"; String flavor2 = "Peach"; System.out.println(flavor1.compareTo(flavor2));
Java
볡사
Output
-3
이 μ˜ˆμ œλŠ” μœ„μ—μ„œ λ‘λ²ˆμ§Έ κ²½μš°μ— ν•΄λ‹Ήν•œλ‹€. 좜λ ₯값이 μŒμˆ˜μ΄λ―€λ‘œ flaver1 은 String 객체의 argument 인 flaver2 보닀 μž‘λ‹€κ³  ν•  수 μžˆλ‹€.

λŒ€λ¬Έμž μ†Œλ¬Έμžμ˜ 차이가 compareTo() λ©”μ„œλ“œμ— λ―ΈμΉ˜λŠ” 영ν–₯

String 을 비ꡐ ν•  λ•Œ 어떀값을 κΈ°μ€€μœΌλ‘œ 비ꡐλ₯Ό ν•˜λŠ” κ²ƒμΌκΉŒ?
μ•ŒνŒŒλ²³ 각각에 ν• λ‹Ήλ˜λŠ” μœ λ‹ˆμ½”λ“œ 값을 κΈ°μ€€μœΌλ‘œ 비ꡐλ₯Ό ν•œλ‹€. κ·Έ 값은 같은 λ¬ΈμžλΌλ„ λŒ€λ¬Έμž μΌλ•Œμ™€ μ†Œλ¬Έμž μΌλ•Œ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— compareTo() λ©”μ„œλ“œλ₯Ό μ“Έλ•ŒλŠ” μœ μ˜ν•΄μ•Ό ν•œλ‹€. μœ λ‹ˆμ½”λ“œλž€ 무엇인지에 λŒ€ν•΄μ„œλŠ” μ•„λž˜μ˜ pdf λ₯Ό μ°Έμ‘°ν•˜λ©΄ μ’‹κ² λ‹€.
Loading PDF…
charAt()
charAt() λ©”μ„œλ“œλŠ” λ¬Έμžμ—΄μ—μ„œ νŠΉμ •ν•œ μΈλ±μŠ€μ— μžˆλŠ” 문자λ₯Ό λ°˜ν™˜ν•΄ μ€€λ‹€.
[μ˜ˆμ‹œ μ½”λ“œ]
Stiring str = "sieun'; System.out.println(str.charAt(2));
Java
볡사
μœ„ μ˜ˆμ‹œμ˜ 좜λ ₯값은 e 일 것이닀. λ§Œμ•½ λ¬Έμžμ—΄μ˜ κ°œμˆ˜λ³΄λ‹€ 더 큰 수λ₯Ό μž…λ ₯ν•˜κ²Œ 되면 IndexOutOfBoundsExeption μ—λŸ¬λ₯Ό λ³Ό 것이닀.
indexOf()
λ¬Έμžμ—΄ μ•ˆμ— μžˆλŠ” νŠΉμ • 문자/단어가 λͺ‡λ²ˆμ§Έμ— μ‘΄μž¬ν•˜λŠ”μ§€ μ•Œλ €μ£ΌλŠ” λ©”μ„œλ“œμ΄λ‹€. λ§Œμ•½ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ -1 을 λ°˜ν™˜ν•œλ‹€.
substring()
substring() λ©”μ„œλ“œλŠ” λ¬Έμžμ—΄μ—μ„œ μ›ν•˜λŠ” λΆ€λΆ„λ§Œ μΆ”μΆœν•΄μ€€λ‹€. μ•„λž˜ μ„Έκ°œμ˜ μ˜ˆμ‹œμ½”λ“œλ“€μ„ 보면 이해가 갈 것이닀.
[μ˜ˆμ‹œ μ½”λ“œ]
String line = "The Heav'ns and all the Constellations rung"; System.out.println(line.substring(24));
Java
볡사
Output
Constellations rung
[μ˜ˆμ‹œ μ½”λ“œ]
String line = "The Heav'ns and all the Constellations rung"; // 27 ~ 32 κΉŒμ§€ 좜λ ₯ν•˜κ²Œ λœλ‹€. System.out.println(line.substring(27, 33));
Java
볡사
Output
stella
[μ˜ˆμ‹œ μ½”λ“œ]
String line = "The Heav'ns and all the Constellations rung"; System.out.println(line.substring(24, 25));
Java
볡사
Output
c
toUpperCase() / toLowerCase()
toUpperCase(): λ¬Έμžμ—΄μ„ μ „λΆ€ λŒ€λ¬Έμžλ‘œ λ°”κΏ”μ€€λ‹€.
toLowerCase(): λ¬Έμžμ—΄μ„ μ „λΆ€ μ†Œλ¬Έμžλ‘œ λ°”κΏ”μ€€λ‹€.
replace(a,b)
λ¬Έμžμ—΄ a λ₯Ό b 둜 λŒ€μ²΄ν•˜λŠ” λ©”μ„œλ“œμ΄λ‹€.
trim()
λ¬Έμžμ—΄μ—μ„œ μ•ž,λ’€ 곡백을 μ œκ±°ν•΄μ„œ 좜λ ₯ν•΄μ£ΌλŠ” λ©”μ„œλ“œμ΄λ‹€.
toCharArray()
λ¬Έμžμ—΄μ„ char[] ν˜•νƒœλ‘œ λ°”κΏ”μ£ΌλŠ” λ©”μ„œλ“œμ΄λ‹€. 좜λ ₯ν•˜λ €λ©΄ Arrays.toString() 을 μ‚¬μš©ν•˜λ©΄ λœλ‹€.
int 와 string 의 ν˜•λ³€ν™˜
(1) integer 을 String 으둜 λ³€ν™˜
Integer.toString()
String.valueOf()
λ‘˜λ‹€ λ˜‘κ°™μ€ ν˜•λ³€ν™˜μ„ μ§„ν–‰ν•˜μ§€λ§Œ 차이점이 μžˆλ‹€. λ§Œμ•½ μž…λ ₯된 λ¬Έμžμ—΄μ΄ Null 이라고 ν•΄λ³΄μž. μ΄λ•Œ μ „μžμ˜ 경우 Null PointerException μ—λŸ¬κ°€ λ‚˜νƒ€λ‚œλ‹€. 즉, Null 값은 λ¬Έμžμ—΄λ‘œ μ²˜λ¦¬ν•˜μ§€ λͺ»ν•œλ‹€λŠ” μ†Œλ¦¬λ‹€. ν›„μžλŠ” μ²˜λ¦¬κ°€ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— 상황에 따라 맞게 μ„ νƒν•˜λ©΄ 될 것 κ°™λ‹€.
(2) Sring 을 integer 둜 λ³€ν™˜
Integer.parseInt()
Integer.valueOf()
λ‘˜λ‹€ λ˜‘κ°™μ€ ν˜•λ³€ν™˜μ„ μ§„ν–‰ν•œλ‹€. ν•˜μ§€λ§Œ μ „μžμ˜ 경우 λ¬Έμžμ—΄μ΄ 숫자λ₯Ό ν¬ν•¨ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ NumberFormatException 이 throw λœλ‹€. λ•Œλ¬Έμ— try-catch 문을 μ΄μš©ν•˜μ—¬ μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό ν•΄μ•Όν•œλ‹€. ν›„μžμ˜ 경우 μ •μˆ˜ 객체λ₯Ό λ°˜ν™˜ν•œλ‹€. 즉, Integer(Integer.parseInt()) 와 λ™μΌν•˜λ‹€. λ˜ν•œ Null 값을 λ¬Έμžμ—΄λ‘œ μ²˜λ¦¬ν•  수 있으며 λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ μžλ£Œν˜•μ„ νŒŒλΌλ―Έν„°λ‘œ 전달 받을 수 있기 λ•Œλ¬Έμ— μ „μžλ³΄λ‹€λŠ” μœ μ—°ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ‹€κ³  λ³Ό 수 μžˆκ² λ‹€