空の ArrayList を新規生成するラムダ式
Want
ファクトリメソッドとして空のArrayListを新規作成する Lambda 式を渡したいとき、次のようなラムダを渡すと Sonarqube や IntelliJ 等に "Replace this lambda with a method reference."や"Lambda can be replaced with method reference." というように直接実装を書くんじゃなくてメソッド参照にしろと怒られる。
() -> new ArrayList()
Do
次を渡せばOK。
ArrayList::new
Don't
空のArrayListを用意したあとでそのインスタンスに要素を追加していく場合、次はアウト。
Collections.emptyList()
Why
Collections.emptyList() で生成したリストは、基本的に操作できません。
add メソッドなどを呼び出すと UnsupportedOperationException
が発生します。
次も参考にどうぞ。
Author And Source
この問題について(空の ArrayList を新規生成するラムダ式), 我々は、より多くの情報をここで見つけました https://zenn.dev/saikou9901/articles/52e6c1d73087efdeb112著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol