0

しばらくの間私を困惑させてきた疑問があります。

カレンダ列挙型を比較す​​るためにクラスCalendarを使用する例:

Calendar c = Calendar.getInstance();

if (c.SUNDAY == c.getFirstDayOfWeek()); //US local
System.out.println("indeed");

したがって、基本的に、列挙型(SUNDAY)をintを返すgetFirstDayOfWeek()メソッドと実際に比較する方法を知りたいと思います。

回答ありがとうございます。

4

2 に答える 2

1

SUNDAYは、Calendar API の static final フィールドです。それは列挙型ではありません。getFirstDayOfWeek( ) は int 値 (int 表現の曜日) を返すため、比較は有効です。

カレンダーのソースから:

576       public final static int SUNDAY = 1;
于 2013-02-14T11:44:35.660 に答える
1

c.SUNDAY も int (Enum ではない) であるため、問題はありません。

カレンダーの最終値は int として格納されます。

このようにして、実際の実装 (int) が実際には問題にならない場合に、すべての定数に「共通言語」を作成します。

カレンダー クラス

于 2013-02-14T11:44:44.893 に答える