如何将Java泛型转换为kotlin语言泛型
如何将Java泛型转换为kotlin语言泛型 java代码:如何将Java泛型转换为kotlin语言泛型,kotlin,Kotlin,如何将Java泛型转换为kotlin语言泛型 java代码: public abstract class Request<T, R extends Request> implements Serializable {} 公共抽象类请求实现可序列化{} 但是kotlin代码:怎么做?您可以直接使用并获取 抽象类:可序列化 但是第二个请求(在扩展请求中的一个)是一个不应该在Java中使用的请求,并且在Kotlin中不受支持。很可能应该是请求;然后翻译在Kotlin中也使用了Requ
public abstract class Request<T, R extends Request> implements Serializable {}
公共抽象类请求实现可序列化{}
但是kotlin代码:怎么做?您可以直接使用并获取
抽象类:可序列化
但是第二个
请求
(在扩展请求
中的一个)是一个不应该在Java中使用的请求,并且在Kotlin中不受支持。很可能应该是请求
;然后翻译在Kotlin中也使用了Request
。公共抽象类请求实现了可序列化的{}
我们有两种泛型T
,它可以通过任何类型和必须扩展请求的R
。但是,请求
仍然需要两个参数
在Java中,它更简单,因为泛型没有那么严格,我们可以使用原始类型
在科特林,情况是这样的:
抽象类请求根据我的需要,我最终实现了这种方式
Open abstract class Request < T, out R > (url: String): Serializable where R: Request < T, R > {}
Open class GetRequest < T > (url: String): Request < T, GetRequest < T > (url){
打开抽象类请求(url:String):可序列化,其中R:Request{}
打开类GetRequest(url:String):Request(url){
}“公共抽象类请求实现可序列化”,如何使用kotlin语言转换此请求?测试此>>>问题:string这里有什么问题?到目前为止您做了什么?“此类型参数违反了有限界限制。”这是编译器在尝试使用两个通配符时抛出的错误。事实上,我不方便有Request
-我看到一些用例中第二个类型参数应该在Request
范围内。非常感谢您的帮助。根据我的需要,我终于做到了这一点。开放抽象类请求(url:String):可序列化,其中R:Request{}开放类GetRequest(url:String):Request(url){}非常感谢您的帮助。我从你的帮助中学到了一些新知识。根据我的需要,我终于意识到了这一点。打开抽象类请求(url:String):可序列化,其中R:Request{}打开类GetRequest(url:String):Request(url){}
abstract class Request<T, R : Request<*, R>> : Serializable {
abstract val dummy: R
}
class ExampleRequest<T, N> : Request<T, ExampleRequest<T, N>>() {
override val dummy: ExampleRequest<T, N> get() = this
}
Open abstract class Request < T, out R > (url: String): Serializable where R: Request < T, R > {}
Open class GetRequest < T > (url: String): Request < T, GetRequest < T > (url){