この文章は何か?
私がJavaを用いた開発において共同作業するに「よくわからん」と調べたことを記す。俺的チートシートとして用いる。随時更新する。
Java 中間操作って何?
終端操作の対義語
Stream API
コレクションを操作するAPIと手法、中間操作と終端操作があり、中間操作で都合のいいストリームに抽出・変換し、終端操作で文字通り最後の処理を行う。
スーパータイプ バウンド
<? super クラス名>
ワイルドカードとしてクエスチョンマーク (?)
Box<? extends Person> bp
ラムダ式の書き方
関数定義の throws 句がよくわからん
上位のメソッドに投げる場合は,メソッドを定義するときに,「このメソッドがどのような例外を投げる可能性があるか」を宣言する必要があります.それは,throwsを使って次のように書きます.
ただし,いちいち投げる可能性がある全ての例外を書くのは大変なので,RuntimeExceptionのサブクラス(RuntimeExceptionから継承されたクラスのこと)は特に throws で宣言しなくても良いことになっています.
RuntimeException とは何か?
Effective Java 第二版 第9章例外 項目58 回復可能な状態はチェックされる例外を、プログラミングエラーには実行時例外を使用する
- チェックされる例外(checked exception)
- 実行時例外(runtime exception)
- エラー(error)
呼び出し側が適切に回復できるような状況に対してはチェックされる例外。そもそも規約を守れずに呼び出したなど、は runtime exception を投げて死ぬべきである。
つまり、致命的なもうどう動いても回復不能であろうとするのは RuntimeException を継承して作るべき。catchしてもらうこと前提なロジックは Exception を継承して作るべき。