ローカライズされた順に一覧<のDayOfWeek>

バジルボーク:

私たちは持っているDayOfWeek標準で曜日を定義する列挙ISO 8601の順序を。

私が欲しいListのための適切な中、これらのオブジェクトのをLocale

私たちは、簡単にロケールの週の最初の日を決定することができます。

Locale locale = Locale.CANADA_FRENCH ;
DayOfWeek firstDayOfWeek =  WeekFields.of( locale ).getFirstDayOfWeek() ;

セットアップList

List< DayOfWeek > dows = new ArrayList<>( 7 ) ;  // Set initial capacity to 7, for the seven days of the week.
dows.add( firstDayOfWeek ) ;

➥そのリストに週の他の六日間を追加するには、最も簡単な/最短/最もエレガントなアプローチは何ですか?

Kartik:

あなたは使用することができるplus方法をDayOfWeek

日曜日から月曜日までの週の終わりの周りの計算ロール。

インクリメントと数字IntStreamとそのrange方法(包括開始、排他的な終了)。

Locale locale = Locale.CANADA_FRENCH;
DayOfWeek firstDayOfWeek = WeekFields.of(locale).getFirstDayOfWeek();

List<DayOfWeek> dows = IntStream.range(0, 7)
        .mapToObj(firstDayOfWeek::plus)
        .collect(Collectors.toList());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=178013&siteId=1