Ze specyfikacji EL 2.2 (pobierz poniższą „Kliknij tutaj, aby pobrać specyfikację do oceny”):
1.10 Pusty operator - empty A
emptyOperator operator przedrostek, które mogą być wykorzystane do określenia, czy wartość ta jest zerowa lub pusty.
Oceniać empty A
- Jeśli
Atak null, wróćtrue
- W przeciwnym razie, jeśli
Ajest pustym ciągiem, a następnie zwracatrue
- W przeciwnym razie, jeśli
Ajest pustą tablicą, a następnie zwracatrue
- W przeciwnym razie, jeśli
Ajest pusta Map, zwracatrue
- W przeciwnym razie, jeśli
Ajest pusta Collection, zwracatrue
- W przeciwnym razie wróć
false
Tak więc, biorąc pod uwagę interfejsy, działa tylko Collectioni Mapwyłącznie. W twoim przypadku myślę, że Collectionto najlepsza opcja. Lub, jeśli jest to obiekt podobny do języka Javabean, to Map. Tak czy inaczej, pod osłonami isEmpty()metoda jest używana do faktycznej kontroli. W przypadku metod interfejsu, których nie możesz lub nie chcesz zaimplementować, możesz rzucić UnsupportedOperationException.