JSF и тип безопасности
Поскольку я боролся в течение многих часов, я наконец нашел, где эти раздражающиеClassCastException
s, из которых я думал, что они были созданы Hibernate, и этоenum
-отображением.
Но они пришли с моей точки зрения JSF, где я прошелList
от
обратно в мою бобовую.
Мои данные просто состоят из значений перечисления:.public Role[] getRoles() { return Role.values(); }
Я был действительно шокирован, когда я тестировал сеттерroles
вUser
-класс и получил это:
public void setRoles(List paramRoles) {
System.out.println(paramRoles.get(0) instanceof Role); //output: false
for(Role role : paramRoles){ ...} //crashes with ClassCastException
}
измененияList paramRoles
вList paramRoles
работал отлично.
Как это возможно? не должен»Являются ли эти дженерики безопасными по типу или стирание типа в связи с тем, что JSF уничтожает весь тип безопасности?
Также не должент возвращаемое значениеh:selectManyCheckbox
бытьList
Как я прошел через?f:selectItems