2017-03-14 27 views
3

我想为我的基于Spring的应用程序配置@PropertySource。如何在Kotlin中为@PropertySource创建Java数组?

在Java中,我可以做这样的事情:

@PropertySource(value = {"application.properties","other.properties" }) 

我在科特林试图arrayOf,但我最终得到一个类型不匹配:

@PropertySource(value = arrayOf("application.properties", "other.properties")) 

什么是正确的方式去这里?

回答

5

注解参数在Kotlin中以特殊方式处理(在Java中进行特殊处理后),如果它具有数组类型,则Kotlin会将其转换为vararg。因此,这里的正确的语法很简单:

@PropertySource("application.properties", "other.properties") 

如果你希望明确的指定参数名称,使用扩运营商扩大数组变量参数:

@PropertySource(value = *arrayOf("application.properties", "other.properties")) 

对于任何其他阵列注释参数,您应该简单地使用arrayOf()