Kotlin / IntelliJ – 编译器找不到正确的参数类型的函数
我正在使用IntelliJ编写Kotlin语言(的JetBrains)代码,我面临编译器错误编译器无法找到一个函数的正确参数类型,总是说该函数receve一个Nothing
参数。
有人有什么想法是什么问题?
打印屏幕显示IntelliJ IDE上的错误
在图像中,控制台显示编译器错误,但屏幕中央的帮助显示IntelliJ可以找到正确的函数参数类型,但编译器不是。
====编辑==========================================
Java代码是:
@Transactional public int deletar(BuscaInfo info) { // ---- Criando a busca ao banco: CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaDelete query = cb.createCriteriaDelete( info.classe ); Root root = query.from( info.classe ); // Cláusula WHERE do banco: Predicate[] preds = WhereBuilder.build(cb, root, info.where); if (preds.length < 1) { throw new MsgException(JsonResponse.ERROR_EXCECAO,null,"Os parâmetros de filtragem da QueryString não são válidos."); } query.where(preds); // A busca ao banco: int qtd = em.createQuery(query).executeUpdate(); return qtd; }
info.classe
的类型是Class<?>
。
使用Hibernate 5.x和JPA 2.1 api来编译。
该代码适用于WildFly 9.x和10.x.
你能检查一下q
变量的类型吗? (导航到它,运行alt + q)我想它的类型是CriteriaDelete<*>
,这些方法中的任何一个都可以被调用,因为他们不能在类型CriteriaDelete<?>
的变量Java中不能调用:我们不能确切地说明实例创建时T
所在的位置。
但是,诊断当然可以在这里更好。 我已经创建了这个问题
- 字符串资源提取kotlin在android studio?
- Kotlin字节码 – 如何在IntelliJ IDEA中分析?
- IntelliJ的想法,一次测试多个模块,只有一个模块的文物都包括在内
- 我可以对来自Java API的平台类型执行无效安全吗?
- 在java项目中运行kotlin代码
- 编译调用Kotlin中另一个扩展方法的扩展方法的错误
- 当前选择的Java调试器不支持“Kotlin Line Breakpoints”类型的断点
- 在IntelliJ的Kotlin> Java转换之后,将源代码恢复为Java
- Kotlin NoClassDefFoundError和spring @RequestMapping方法