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
所在的位置。
但是,诊断当然可以在这里更好。 我已经创建了这个问题
- 插件选项org.jetbrains.kotlin.android:package不允许使用多个值
- Android + Kotlin – 项目不再建设
- 无法将Kotlin“声明平台类型”警告转换为错误
- 如何添加gradle(理想情况下使用kotlin-dsl)到现有的intellij python项目
- KotlinJS中的Kootlin失败的世界没有定义
- Kotlin意想不到的“未解决的参考”
- 如何在IntelliJ中运行Kotlin Koans? 什么是“大班”?
- 如何在Intellij(v15社区版)中为JSP添加代码样式?
- Kotlin Android Studio / IntelliJ“可以加入任务”检查警告