Kotlin代码:
class Inva<T>{
fun <T> x(y:T) {}
}
fun main(args: Array<Integer>) {
var inva = Inva<Int>()
inva.x(“123”)
}
Run Code Online (Sandbox Code Playgroud)
Java等价物:
public class Vab<T> {
void x(T y) {}
public static void main(String[] args) {
Vab<Integer> vab = new Vab<Integer>();
vab.x("123");
}
}
Run Code Online (Sandbox Code Playgroud)
为什么Kotlin代码允许不变量,而Java代码被正确标记为无效?
这些代码片段不相同,因为Java代码段使用其类的type参数而不是声明它自己的类型参数.
类似的Java方法声明就像这样(注意<T>方法本身的附加内容):
<T> void x(T y) {}
Run Code Online (Sandbox Code Playgroud)
通过此更改,Java类将像Kotlin变体一样进行编译.
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |