0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Java8】Stream API、Date And Time API ...初心者メモ

Posted at

スキル云々と言っても、最もコーディング量の多いのは素のJava本文であり、ここでもたついているようでは生産性向上/品質確保は図れません。

1.Date and Time API

便利になった反面、非常に複雑になっています。頻繁に参照している記事はこちら。
「Java8の日時APIはとりあえずこれだけ覚えとけ」Qiita @tag1216さん
記事から抜粋)Builderパターンのような記述が可能で、記述性/可読性が向上しています。

現在時刻の来月1日の12時を求める.java
LocalDateTime d = 
       LocalDateTime.now()
                    .plusMonths(1)
                    .withDayOfMonth(1)
                    .withHour(12)
                    .truncatedTo(ChronoUnit.HOURS);

JavaDoc「パッケージjava.time」

2.ラムダとストリーム

新規プロジェクトでは、ストリームでの記述は必須です。こちらの記事は絵付きでの解説があり、直感的にわかりやすいです。下記の様な絵が出てきます。
「絵で理解するリスト処理 - java8 stream / javaslang」Qiita @suzuki-hogeさん
※こんな絵が出てきます。
慣れたらこちらも。
「Java 8 Stream API にテキストを流してみる(生成編)」Qiita @kumazoさん
「Java 8 Stream API にテキストを流してみて(中間操作編)」Qiita @kumazoさん
「Java 8 Stream API にテキストを流してみた(終端操作編)」Qiita @kumazoさん
「Java 8のStream処理はここまで省略できる!」Qiita @munieru_jpさん
「Java8のラムダ式を理解する」Qiita @sano1202
JavaDoc「パッケージjava.util.stream」

3.Path/Paths/Files

File処理については、新旧のAPIが現時点でも混在して使用されており混乱するところです。Java7で導入された上記APIのみ絞った方が良いと感じています。
「Java NIO2のおさらいメモ」Qiita @rubytomato@githubさん
JavaDoc「インタフェース Path」「クラスPaths」「クラスFiles」

9.その他(Java初心者の備忘録)

(1) @Override は必要か?

・必須ではないが、記述を推奨する。
・引数の型違いなど使用ミスがあれば、Eclipseがミスを教えてくれる。
・オーバーライドしている事が明確になる。

(2) Temporal(Java8 Date and Time API)が分かりにくい

Java日付関連の実装中、APIのJavadocを調べていて困るのが、ちょいちょい引数にでてくるTemporalAccessorとかChronoLocalDateTimeです。結局、何を指定すれば良いのか分らず呆然ととしてしまう事があります。
※もう少し理解度が高くなったら追記します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?