В вашем коде
final List<MyClass> myClassList
= Collections.checkedList(MyClass.class, crit.list());
вам просто нужно изменить порядок аргументов на checkedList()
.
Кстати, вы можете статически импортировать метод, чтобы сделать ваш код более кратким.Также, кстати, я не знал о checkedList()
- спасибо за хедз-ап!
Редактировать : checkedList()
не делает то, что вы хотите - как я должен был понятьесли я правильно подумаю об этом, прежде чем ответить.
checkedList()
проверит типы любых элементов, добавленных в список, и сразу же потерпит неудачу.В отличие от обычного списка, который позволит вам ввести неправильные типы, и потерпит неудачу только при получении.В вашем случае это не имеет значения, поскольку вы сами не собираетесь вставлять элементы (я полагаю).
Ответ Джона Скита (@SuppressWarnings("unchecked")
) является правильным.