gpt4 book ai didi

java - 如何满足kotlin中Class的嵌套泛型要求

转载 作者:行者123 更新时间:2023-12-02 00:47:40 25 4
gpt4 key购买 nike

我正在尝试调用一个方法,其签名包含参数 Class<T>

下面是kotlin中的示例代码

val response: ResponseEntity<ResponseObject<*>> = testRestTemplate.postForEntity("/users", user, ResponseObject::class.java)

我想要实现的是摆脱 <*>在responseObject中并让它成为

val response: ResponseEntity<ResponseObject<User>> = ???

但我不确定满足 Class<T> 的正确语法是什么?要求

我试过了

ResponseObject<User::class.java>::class.java

但这不是有效的语法。有什么指示吗?

真正的问题是如果我使用*我不知道如何准确推断User正确地从那里实例。

最佳答案

好吧,我设法使用 when 进行类型转换来解决我的问题

@Test
fun testCreateUser() {
val user = User(id = null)
val response = testRestTemplate.postForEntity("/users", user, ResponseObject::class.java)
val responseObject = response.body
when (val returnedUser = responseObject.model) {
is User -> {
assertNotNull(returnedUser.id)
assertEquals(UserStatus.active, returnedUser.status)
}
}
}

关于java - 如何满足kotlin中Class<T>的嵌套泛型要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57885112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com