Проблема в том, что currencyList
должен иметь тип List
, а не List<Object[]>
. Это также означает, что переменная currency
в вашем цикле должна иметь тип Object
, так что она фактически совместима с String
(отсюда и исключение). Затем вам нужно будет убедиться, что в нем есть строка.
В качестве альтернативы у вас есть достаточно информации в SQL, чтобы знать, что результатом будет действительно List<String>
, что, в свою очередь, позволит вам объявить currency
типа String
. Но это будет связано с формально небезопасным составом актеров; это будет место, где вы знаете, что это правильно, а компилятор - нет, поэтому вы получите предупреждение. Это было бы подходящим местом для подавления предупреждения (только на этом одном назначении / приведении; вы хотите попытаться избежать подавления предупреждений, потому что это может скрыть серьезные проблемы).