Kotlin

Kotlin ์ฝ”ํ‹€๋ฆฐ ๋ฌธ์ž์—ด ๋Œ€์†Œ๋ฌธ์ž ํ•จ์ˆ˜๋“ค(toUpperCase, caplitalize ๋“ฑ) Deprecated๋œ ์ด์œ 

๋…ธ๋ฃจ๋ฃฝ 2023. 3. 10. 13:11

์ฝ”ํ‹€๋ฆฐ 1.5์—์„œ ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” capitalize, ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” toUpperCase ๋“ฑ ์ž๋ฐ”์—์„œ ์ต์ˆ™ํ•˜๋˜ ๋ฌธ์ž์—ด์˜ ๋Œ€์†Œ๋ฌธ์ž ๊ด€๋ จ ํ•จ์ˆ˜๋“ค์ด ๋ชจ๋‘ deprecated ๋˜์—ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ทจ์†Œ์„ ์ด ๊ทธ์–ด์ง€๋ฉฐ Deprecated ๋œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

capitalize๋ฅผ ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์ œ์•ˆํ•˜๋Š” ํ˜•์‹๋Œ€๋กœ ๋ฐ”๊พธ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋œ๋‹ค.

import java.util.*

fun main(args: Array<String>) {
    var beverage = readLine()?.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() }
    println(beverage)
}

์ž˜ ์“ฐ๋˜ capitalize๋ฅผ ๋†”๋‘๊ณ  ์™œ ์ด๋ ‡๊ฒŒ ์•ˆ์˜ˆ์œ(...) ์ฝ”๋“œ๋กœ ํ•ด์•ผ ํ•˜๋Š” ๊ฑธ๊นŒ?

๊ถ๊ธˆํ•ด์„œ ์ฐพ์•„๋ณด์•˜๋‹ค.

 

์ด์œ ๋Š” locale ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.

ํ”Œ๋žซํผ์˜ locale์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, "Kotlin”.toUpperCase()๋กœ ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋ ๊นŒ?

๋‹น์—ฐํžˆ KOTLIN์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ„ฐํ‚ค์–ด์—์„œ ๋Œ€๋ฌธ์ž i๋Š” ฤฐ์ด๋ฏ€๋กœ KOTLฤฐN์ด๋ผ๋Š” ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ์–ป์–ด์ง„๋‹ค๊ณ  ํ•œ๋‹ค.

 

๋”ฐ๋ผ์„œ ์ฝ”ํ‹€๋ฆฐ 1.5๋ถ€ํ„ฐ๋Š” locale์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ์ œ๊ณตํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

toUpperCase ๋Œ€์‹  uppercase๋กœ

toLowerCase ๋Œ€์‹  lowercase๋กœ

caplitalize ๋Œ€์‹  replaceFirstChar๋กœ

๋ฐ”๊ฟ”์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

๋‚˜๋จธ์ง€ locale์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋Š” ํ•ด๋‹น API์—์„œ ์•Œ์•„์„œ ํ•ด์ค€๋‹ค๊ณ  ํ•œ๋‹ค!

 

Reference

https://blog.jetbrains.com/ko/kotlin/2021/04/kotlin-1-5-0-rc-released/