我的dao中有下面的代码,它返回一个[ljava.lang.string;无法转换为java.lang.string异常我想知道这是为什么原因和解决办法。
public Collection<Testdoc> findTestId(int idTest, String... testtype) {
StringBuffer buf = new StringBuffer("SELECT w FROM Testdoc w WHERE w.Test.idTest = :idTest");
buf.append("AND w.testtype IN ( :testtype ) ");
return findByQuery(buf.toString(), "idTest", idTest, "testtype ", testtype );
}
1条答案
按热度按时间mhd8tkvw1#
最后一个论点
findByQuery
似乎属于String
. 你用了一个String[]
.String...
因为最后一个参数类型表示String[]
但允许调用者使用fn("x", "y", "z")
而不是fn(new String[] { "x", "y", "z" })
.@用户85421指出
findByQuery
很可能是这样的:在这种情况下,您可能需要串联参数,尽管这可能仍然不正确。
然后需要连接数组。如果没有
Arrays.concat
,请参阅问题“如何在java中连接两个数组?”?。