我想使用 @OneOf
来自 package io.dropwizard.validation;
的注释
Java 用法:
@OneOf(value = {"m", "f"})
Kotlin 用法:???
我试过这个:
@OneOf(value = arrayOf("m", "f"))
还有这个:
@OneOf(value = ["m", "f"])
(编辑:这个例子从 Kotlin 1.2 开始工作,它支持注释中的数组文字,感谢@BakaWaii)
我得到的只是:
Type inference failed. Expected type mismatch:
required: String
found:
Array<String>
Kotlin 版本:1.1.2-2
最佳答案
value
参数在 Kotlin 中自动转换为可变参数,如 http://kotlinlang.org/docs/reference/annotations.html#java-annotations 中所述。 .
这种特殊情况的正确语法是 @OneOf("m", "f")
关于Kotlin:如何将数组传递给 Java 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44069045/