我们可以像以下示例中那样定义通用构造函数:
public class Example {
public <T> Example(T t) {
//...
}
}
我找到了一篇文章,其中包含一个通用构造函数的示例:
class Test {
//Generics constructor
public <T> Test(T item){
System.out.println("Value of the item: " + item);
System.out.println("Type of the item: "
+ item.getClass().getName());
}
}
但这没有意义,因为类型T
可以替换为String
,并且仍然可以正常工作。
我们不能在构造函数中使用类型T
。同样,我们不能从构造函数返回任何东西。那么为什么开发者甚至可以使用它呢?有人可以给我一个通用构造函数的用例吗?