-Experts。
我正在实例化一个返回List类型文件的通用方法(A)。在我的情况下,我肯定知道我要获取的文件是一个字符串,我想在方法调用中指定。但是,显然,程序显示类型失配错误。仅指定List<Object>
不是解决方案,因为我需要将此文件作为另一个方法(B)的字符串参数输入。
方法(A)具有以下定义:
public <T> List<T> find(String queryString, Object param){}
我用这种方式实例化上述方法(A):
String idioma;
idioma = miDao.find("SELECT c.idioma FROM Idioma c WHERE c.palabra =:param",o1);
结果是无法将idioma解析为变量。但我的目标是让String idioma将它用作实体属性的输入:
public void setIdioma(String idioma) {
this.idioma = idioma;
}
有谁知道如何解决这个错配文件问题?提前谢谢!
答案 0 :(得分:2)
find
为您提供了string
的列表,因此您必须使用列表作为输出_
List<String> idiomas;
idiomas = (List<String>)miDao.find("SELECT c.idioma FROM Idioma c WHERE c.palabra =:param",o1);
if (idiomas.size()>0){
idioama = idiomas.get(0)
}
答案 1 :(得分:-1)
最后这有效:
List<Object> idiomas
调用find方法:
idiomas = miDao.find(“SELECT c.idioma FROM Idioma c WHERE c.palabra =:param”,o1);
将idiomas值分配给String idioma变量:
idioma =(String)idiomas.get(0);