2009-10-05 5 views
1

В приложении Java я использую Hibernate критерии запросов, , например:Как преобразовать тип списка в Java зимуют

Criteria criteria = session.createCriteria(Any.class); 
... 

List<?> list = criteria.list(); 

и я определенно знаю, что список результатов содержит только объекты типа Любой но Я надеваю Не знаете, можно ли получить список типов, определенных выше?

В этом случае, если я хочу использовать Foreach необходимо преобразовать тип из объекта типа Любой

for(Object object : list) { 
    ... 
    ((Any)object). 
    ... 
} 

Или, если мне нужно, чтобы получить массив я должен сделать что-то вроде этого:

list.toArray(new Any[]{}); 

Есть ли у вас идеи?

ответ

3

Hibernate не поддерживает дженерики. Таким образом, следующий код является «лучшим» вы получите:

@SuppressWarnings("unchecked") 
List<Any> resultList = criteria.list(); 

for(Any any : resultList){ ... } 

Может

List<Any> resultList = criteria.list(); 
for(Any any : resultList){ ... } 

лучше, как предупреждение типа все еще там. Этот конвертер не может быть проверен компилятором. Значит, предупреждение в порядке.

Смежные вопросы