こんにちは。LINEでAndroid Clientを開発しているMasakuniです。 これはLINE Advent Calendar 2016の4日目の記事となります。 LINEのアプリ・サービスは多くの国で使われているため、国際化や多言語化はサービス開発時における重大なテーマの一つです。 今回は、その中でも「大文字・小文字変換」について話をします。 Javaにおける String#toLowerCase() / toUpperCase() の挙動 まずは一つ、問題を出してみましょう。 Q. 以下のJavaテストコードは常にpassすることが保証されているでしょうか? assertEquals("i", "I".toLowerCase()); A. No. 一見単純なテストコードですが、これはJavaの実行環境によっては失敗することがあります。何故かと言うと、 "I".toLowerCa
![toLowerCaseの落とし穴とCase Foldingの話](https://cdn-ak-scissors.b.st-hatena.com/image/square/632af177a144b1d6a9f17ea4638be549735e418a/height=288;version=1;width=512/https%3A%2F%2Fvos.line-scdn.net%2Flandpress-content-v2_1761%2F1666848446010.png%3FupdatedAt%3D1666848446000)