Ze specyfikacji EL 2.2 (pobierz poniższą „Kliknij tutaj, aby pobrać specyfikację do oceny”):
1.10 Pusty operator - empty A
empty
Operator operator przedrostek, które mogą być wykorzystane do określenia, czy wartość ta jest zerowa lub pusty.
Oceniać empty A
- Jeśli
A
tak null
, wróćtrue
- W przeciwnym razie, jeśli
A
jest pustym ciągiem, a następnie zwracatrue
- W przeciwnym razie, jeśli
A
jest pustą tablicą, a następnie zwracatrue
- W przeciwnym razie, jeśli
A
jest pusta Map
, zwracatrue
- W przeciwnym razie, jeśli
A
jest pusta Collection
, zwracatrue
- W przeciwnym razie wróć
false
Tak więc, biorąc pod uwagę interfejsy, działa tylko Collection
i Map
wyłącznie. W twoim przypadku myślę, że Collection
to 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
.