タグ

Javaとenumに関するatsushifxのブックマーク (3)

  • Java の enum を使いこなせるあなたに sealed interface

    はじめに Java の enum は大変便利で非常多くのシーンで活用されています。例えば区分を表すようなオブジェクトを表現したい際にもよく使われていますね。 Java 14 で正式機能となった switch式にて網羅性検査が行えるようになり、それまで以前ではどうしても抽象メソッド等を活用する必要があった処理についても、switch式を利用する事で簡潔に表現することができるようになりました。 また、Java 17 で正式機能となった sealed classes/interfaces と Java 21 で正式機能になった Record Patterns によって、これまで必要だった区分値のような enum を必ずしも定義しなくて良い場合も出てきました。 この記事では、今まで enum を使っていたコードがこれらの機能によってどのように変わるのかを紹介し、盲目的に enum を定義するのでは

    Java の enum を使いこなせるあなたに sealed interface
    atsushifx
    atsushifx 2024/02/18
    UserとPermissionを例にした、プログラミングと型の使い方。考え方はJavaに限らない
  • Enumとてもつらい、でも負けない - エムスリーテックブログ

    列挙型、JavaでいうならEnum型、使っていますか。使わないわけにいきませんよね。 でも、Enumを使っていたせいで辛い目にあったことありませんか。ないですか。それならきっともうすぐに辛い目にあうと思います。 Enumはすべてのプログラマに等しく辛みを与えてくれるからです。そんな辛みについて、ちょっと一緒に直視してみましょう。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の6日目です。 アプリケーションプログラミング上の辛み 1. 既存のif文が偶発的に意図しない方に倒れる 2. switch文に至っては「どちらでもない」で処理不発に アプリケーションプログラミング上の対策 1. 分岐条件をEnumに持たせる 2. swi

    Enumとてもつらい、でも負けない - エムスリーテックブログ
    atsushifx
    atsushifx 2023/12/06
    そもそもデータ構造がかわってくるわけで・・・。とてもつらい
  • enumってベンリかな

    みなさま、こんにちは。 なかなかブログの更新速度があがらないnouzui2007です。 すっかりごぶさたしておりますが、平常運転すぎてあまり気になりませんねw さて、今回のお題ですが、enumいってみたいと思います。 enumって、列挙型なんて日語があてられてます。 列挙型 なんか、わかったような気がしてきませんか? よく知っている表現というのは大切ですねw これ、なんのために使うかっていうとですねぇ カレンダーの1月から12月を定数にして、まとめておく トランプスーツ(スペードとかハートとかのあれです)を定数にしておく コーラの種類を定数化したい とか、みたいな場合に使います。 なんとなくわかったかもしれませんが、 あらかじめ要素数がわかっている定数たちを、まとめておける のがenumです。 単純なenumは、書き方がCやC++とそっくりです。 enum CocaCola { NOR

    atsushifx
    atsushifx 2011/12/17
    enum,列挙型の一番いいところはあらかじめ定義した値以外を取りようがないこと。不正な値について考える必要がない
  • 1