これが決定的なステートメントであるかどうかはわかりませんが、JavaAPIは列挙型よりも定数intを優先しているように思われます。私が使用したAPIの部分から、代わりにを使用できfinal static int
た可能性のある多くの定数に遭遇しました。enum
私がたまたまこの瞬間を見つめているような例:
java.awt.BasicStrokeから:
public final static int CAP_BUTT = 0;
public final static int CAP_ROUND = 1;
public final static int CAP_SQUARE = 2;
実際、標準のJavaAPIクラスで使用される列挙型を見たことがないと思います。どうしてこれなの?
私は自分のアプリケーション用のAPIを設計しており(Java APIの約10億分の1ですが、それでも賢くしようとしています)、定数intまたはenumのどちらを使用するかを決定しようとしています。 この投稿は、私がまだ読んでいない非常に人気のある本を参照しています。これは、列挙型には多くの利点があることを意味します。同じスレッド内の他のほとんどの高得点の回答は同意します。では、なぜJavaは独自の列挙型機能を使用していないように見えるのでしょうか。