英文:
can i apply generics on a variable in 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;}
英文:
in java we can apply generics on a class and methods as shown below
class Sample<T>{}
public <T,E> void test(T x, E y){}
this helps us write generic algorithms , help us reuse the same code for multiple inputs ,similarly can we apply generics on primitive variables?? if it is possible we can reuse the same variable again and again for different inputs , i know
class Sample<T>{public T temp;}
is possible.
but the question is
class Sample{public <T> T temp;}
is this possible
答案1
得分: 2
不,不是这样的,无法确定temp是什么类型,因此无法帮助编译器限制任何内容(这就是泛型的目的),也无法为工具提供任何建议。
在这种情况下,最好的方法是将temp设为Object类型。(或者使用您的第二个示例)。
英文:
No it's not, it wouldn't be possible to tell what type temp is, so it wouldn't help the compiler restrict anything (that is the point of generics), or tools to make any suggestions.
You can't get better in this case than making temp an Object. (or use your second example)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论