こんにちは。コミュニケーションアプリ「LINE」のモバイルクライアントを開発している石川です。 この記事は、毎週木曜の定期連載 "Weekly Report" 共有の第 9 回です。Weekly Report については、第 1 回の記事を参照してください。 来た道を戻れ ネットワークやファイルシステムといった I/O を使う場合、I/O 上のデータ表現とコード上のデータ表現との間で相互に変換する必要があります。その典型例の一つが、インターフェース記述言語 (IDL) やデータベーススキーマなどの外部で定義されたデータと、コード上で定義されたモデルクラスとの相互変換でしょう。このとき、「状態」や「タイプ」を意味する値を使う場合は、コード上の表現として列挙型を使うこともあります。 以下のコードでは、データベースで使われている値と列挙子を相互変換するために Map を使っています。 enum