Kotlin ์ฝํ๋ฆฐ ๋ฌธ์์ด ๋์๋ฌธ์ ํจ์๋ค(toUpperCase, caplitalize ๋ฑ) Deprecated๋ ์ด์
์ฝํ๋ฆฐ 1.5์์ ๋ฌธ์์ด์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ฃผ๋ capitalize, ๋ฌธ์์ด์ ๋ชจ๋ ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ฃผ๋ toUpperCase ๋ฑ ์๋ฐ์์ ์ต์ํ๋ ๋ฌธ์์ด์ ๋์๋ฌธ์ ๊ด๋ จ ํจ์๋ค์ด ๋ชจ๋ 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/