2017-03-14 52 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()