首页 > 解决方案 > 我可以在java中的变量上应用泛型吗?

问题描述

在java中,我们可以在类和方法上应用泛型,如下所示

class Sample<T>{}
public <T,E> void test(T x, E y){}

这有助于我们编写泛型算法,帮助我们为多个输入重用相同的代码,同样我们可以将泛型应用于原始变量吗?如果有可能我们可以一次又一次地为不同的输入重复使用相同的变量,我知道

class Sample<T>{public T temp;}

是可能的。

但问题是

class Sample{public <T> T temp;}

这可能吗

标签: javagenerics

解决方案


不,不是,它不可能告诉 temp 是什么类型,所以它不会帮助编译器限制任何东西(这就是泛型的意义),或者工具来提出任何建议。

在这种情况下,您无法比将 temp 设为 Object 更好。(或使用你的第二个例子)


推荐阅读