【发布时间】:2019-04-16 14:31:54
【问题描述】:
我有一个类似的枚举
enum class API : APIInteface {
API_A{
override processApi(toProcess: Any){
return "A"
}
},
API_B{
override processApi(toProcess: Any){
return "B"
}
};
override abstract processApi(toProcess: Any)
}
而APIInteface只有一种方法processApi(toProcess: Any)
在我的服务中,我想声明一个这样的字段:
@Value("\${api}")
private lateinit var apiDeclaration: APIInteface
在我的 config.yml 我有api: API_A
我知道如果 apiDecaration 的类型是 API 它可以正常工作,但我需要将其声明为 APIInteface。显然它不起作用,因为Failed to convert value of type 'java.lang.String' to required type。
这是我的问题,我如何知道在这种情况下它必须创建的对象类型?
【问题讨论】:
标签: java spring-boot kotlin