Ваш список объявлен как List
. Это необработанный тип, поэтому компилятор Java не знает, что находится внутри списка. Все, что он знает, - это то, что он содержит экземпляры Object
, поскольку класс в Java расширяет Object. Так
for (Object[] objArr : list)
не компилируется, так как вы пытаетесь присвоить объект типа Object
переменной типа Object[]
. Чтобы сделать это, нужен литой состав.
Итак, есть два решения. Вы знаете, что список на самом деле содержит Object[]
экземпляров, поэтому вы приводите список к List<Object[]>
:
List<Object[]> list = (List<Object[]>) query.list();
for(Object[] objArr : list) {
Или вы приведете каждый элемент списка к Object[]
:
for (Object o : list) {
Object[] objArr = (Object[]) o;