Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从第5版开始,';枚举';是关键字,不能用作标识符_Java_Android_Kotlin_Enums - Fatal编程技术网

Java 从第5版开始,';枚举';是关键字,不能用作标识符

Java 从第5版开始,';枚举';是关键字,不能用作标识符,java,android,kotlin,enums,Java,Android,Kotlin,Enums,我使用enum作为参数,我得到了这个错误 错误:从版本5开始,“enum”是一个关键字,不能用作标识符 private final kotlin.jvm.functions.Function1<com.tylertech.newworld.mobility.enum.CustomAlertDialogEvents, kotlin.Unit> itemClicked = null; 而我就是这样用的 private val itemClicked: (CustomAlertDialo

我使用enum作为参数,我得到了这个错误

错误:从版本5开始,“enum”是一个关键字,不能用作标识符

private final kotlin.jvm.functions.Function1<com.tylertech.newworld.mobility.enum.CustomAlertDialogEvents, kotlin.Unit> itemClicked = null;
而我就是这样用的

private val itemClicked: (CustomAlertDialogEvents) -> Unit
你知道为什么会出现这个错误吗

更新 下图显示了我正在使用此约定,它适用于所有其他情况。

您的包名中有
enum
enum
在java中也是一个关键字,不能在包名称中使用关键字。将包重命名为
enums

我认为,不应该将Kotlin和Java混用。它无法在
enum
包中创建Java类。因此,您不应该在Java中使用
CustomAlertDialogEvents
类。我的整个项目都在kotlin中。
private final kotlin.jvm.functions.Function1 itemClicked=null是用Java编写的。如果是科特林,就没有错误。也许是编译器创建了这个方法?同意,这很奇怪。你可以从零开始创建一个“hello world”项目并添加这些类。我认为使用R.string.open/close可能会导致在同一个包中生成Java代码。也许工作的案例不使用它(或者只使用来自的标准案例)?是的,移动到不同的包名工作。但是我的enum包中有多个enum,我以前没有遇到过这个问题。我现在不知道为什么。如上图所示,是的,kotlin在标识符方面比java更轻松。但不使用关键字作为标识符仍然是一个好主意。我认为这里有一些东西可以触发中间java代码生成,而不直接从kotlin到字节码。例如,注释处理器。
private val itemClicked: (CustomAlertDialogEvents) -> Unit