gpt4 book ai didi

java - Java代码解释

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:33 25 4
gpt4 key购买 nike

今天早上我看到这段代码,我完全不知道那是什么意思。谁能解释一下这些是做什么的 <T>代表?例如:

public class MyClass<T>
...

some bits of code then

private Something<T> so;

private OtherThing<T> to;

private Class<T> c;

谢谢

最佳答案

您遇到了“泛型”。在此 guide 中对它们进行了很好的解释.

简而言之,它们允许您指定存储类的类型,例如 ListSet包含。如果你写 Set<String> , 你已经声明这个集合必须只包含 String s,如果你试图在其中放置其他内容,将会出现编译错误:

Set<String> stringSet = new HashSet<String>();
stringSet.add("hello"); //ok.
stringSet.add(3);
^^^^^^^^^^^ //does not compile

此外,泛型可以做的另一个有用示例是它们允许您更紧密地指定抽象类:

public abstract class AbstClass<T extends Variable> {

这样,扩展类就不必扩展Variable了。 ,但他们需要扩展一个扩展 Variable 的类.

因此,一个处理 AbstClass 的方法可以这样定义:

public void doThing(AbstClass<?> abstExtension) {

哪里?是一个通配符,意思是“所有用 AbstClass 扩展 Variable 的类”。

关于java - Java代码解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2719776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com