Jersey Kotlin中缀函数阴影/隐藏成员函数
我只是想用Kotlin写一些例子。我所做的就是创建了一个Jersey应用程序,一切都很顺利,直到我尝试将Jersey Kotlin中缀函数阴影/隐藏成员函数,jersey,kotlin,jersey-2.0,kotlin-extension,Jersey,Kotlin,Jersey 2.0,Kotlin Extension,我只是想用Kotlin写一些例子。我所做的就是创建了一个Jersey应用程序,一切都很顺利,直到我尝试将Main.java类更改为Main.kt 生成的Main.java类具有此方法 public static HttpServer startServer() { final ResourceConfig rc = new ResourceConfig() .packages("com.kotlinexperiments") .regist
Main.java
类更改为Main.kt
生成的Main.java
类具有此方法
public static HttpServer startServer() {
final ResourceConfig rc = new ResourceConfig()
.packages("com.kotlinexperiments")
.register(new AbstractBinder() {
@Override
protected void configure() {
bind(new UserService()).to(IUserService.class);
}
});
return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
}
我试着把它转换成一个Kotlin文件
fun startServer(): HttpServer {
val resourceConfig = ResourceConfig()
.packages("com.kotlinexperiments")
.register(object: AbstractBinder() {
override fun configure() {
bind(UserService()).to(IUserService::class)
}
})
return GrizzlyHttpServerFactory.createHttpServer(URI.create(baseUri), resourceConfig)
}
问题是,当您使用bind(someInstance).to(class)
键入IDE时,它会显示成员函数,但当您运行/调试它时,它将转到中缀函数,该函数已在Tuples.kt
文件中定义,该文件随kotlin stdlib
一起分发
问题是,有没有方法调用成员函数?我试图避开函数名等,但实际上没有任何效果
Thnx 更换
bind(UserService()).to(IUserService::class)
与
bind(UserService()).to(IUserService::class.java)