我试着在groovy中使用这个方法,
groupedDocs = reader.selectGroupedDocs(last_update_date.toString()).get();这是"selectGroupedDocs“方法的java代码部分,
private List<Map<String, String>> selectGroupedDocs(String lastUpdateDate) {
logger.warn("START :: selectGroupedDocs");
String query = prepareQuery(SELECT_ALL_GROUPED_DOCES_BY_DATE, lastUpdateDate);
DataStoreQuery.QueryResult result = dataStoreQuery.executeQuery(CMT_GROUPED_DOCS, query);
List<Map<String, String>> resultMaps = result.getSelectResultAsMapRows().orElse(new ArrayList<>());
logger.warn("Result Maps :: " + resultMaps);
logger.warn("END :: selectGroupedDocs");
return resultMaps;
}当我运行它时,我得到以下错误,
groovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.get() is applicable for argument types: () values: []
Possible solutions: get(int), get(int), set(int, java.lang.Object), set(int, java.lang.Object), grep(), grep()
at org.webharvest.runtime.scripting.GroovyScriptEngine.eval(GroovyScriptEngine.java:138)
at org.webharvest.runtime.processors.ScriptProcessor.execute(ScriptProcessor.java:74)
at org.webharvest.runtime.processors.BaseProcessor.run(BaseProcessor.java:127)
at org.webharvest.runtime.Scraper.execute(Scraper.java:169)
at org.webharvest.runtime.Scraper.execute(Scraper.java:182)我做错了什么?
发布于 2019-10-19 07:43:20
如果希望将列表分配给groupedDocs,请从下面的行中删除.get()
groupedDocs = reader.selectGroupedDocs(last_update_date.toString()).get();
列表中的get方法需要一个参数。如果要将列表中的特定值赋值给groupedDocs,则需要在get方法中传递索引才能检索它。
例如:groupedDocs = reader.selectGroupedDocs(last_update_date.toString()).get(1);
https://stackoverflow.com/questions/58461334
复制相似问题