为什么可以';我们在非泛型类中有泛型方法
本文关键字:泛型类 泛型方法 我们 为什么 | 更新日期: 2023-09-27 17:59:38
在C#中,以下内容有效:
public class X {
public void F<T>(T t) {}
}
并执行:
var x = new X();
x.F(2);
而这在Java中是不可能的。
我知道泛型在两种语言中的作用不同,但我仍然想知道。。。
这有充分的理由吗
语法不同:
public class X {
public <T> void F(T t) {}
}
只是为了让您知道Java中的非泛型类中可以有泛型方法。
它看起来是这样的——
public class Test {
public <T> void func(T t) {
// do something.
}
}
你什么时候调用它,test.func(2),2被自动装箱到Integer对象中
编辑:为了回答你的问题,无论你问什么,在Java中都是完全可能的。
您可以移动泛型声明。
public <T> void F(T t){}