HashMap に null 値があるかどうかをテストする関数を作成しています。メソッド .values() は値だけのコレクションを返す必要がありますが、代わりにキーと値の両方が内部に格納されたマップを受け取ります。私の関数の目的は値がnullかどうかをチェックすることなので、これは良くありませんが、キーと値を含むマップを返すと、キーが値なしで保存されている場合、.values().isEmpty() は false を返します。
public Map<KEY, List<VALUES>> methodName() {
if (MAPNAME.values().isEmpty()) {
throw new CustomErrorException(ExceptionHandler.getErrorWithDescription(ErrorConstants.ERROR_MSG_01));
} else {
return MAPNAME;
}
}
上記の例では、.values() は常にすべてのキーと値を含むマップを返します。HashMap にキーがある場合、私のメソッドは CustomErrorException を決してスローしません。値がないかどうかを検出するはずなので、これは悪いことです。ヘルプ!