gpt4 book ai didi

java - 转换为 Type in java

转载 作者:行者123 更新时间:2023-11-30 10:42:21 24 4
gpt4 key购买 nike

我是泛型的新手,正在看这个答案:

https://stackoverflow.com/a/17165079/1632141

它工作得很好,但是我不明白这部分代码是如何工作的。

 public T calories(int val) {
calories = val;
return (T) this;
}

NutritionFacts 的内部类中。

这里的 Actor 是如何工作的?我期待这里出现 java.lang.ClassCastException,因为我们正在将纯父类(super class)对象转换为子类。

最佳答案

其实这个答案有问题:

public static class Builder<T extends Builder> {...

T 类型是原始 类型。应该是:

public static class Builder<T extends Builder<T>> {...

这称为自引用 类型,因为它在扩展自身。

通常这样使用:

public class SubBuilder extends Builder<SubBuilder> {...

在这种情况下,类型是子类本身的类型。

您可以将 Builder 的另一个子类编码为类型,但这不会特别有用。

关于java - 转换为 Type in java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189970/

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