T get()"是什么意思? (还有用吗?)-6ren"> T get()"是什么意思? (还有用吗?)-这似乎是有效的 Java 语法: T get(); 但这是什么意思呢?有用吗? 对反对者的澄清 我理解在方法参数中使用 T 的含义,如下所示: T get(Class clazz); 返回类型可以从-6ren">
gpt4 book ai didi

java - " T get()"是什么意思? (还有用吗?)

转载 作者:行者123 更新时间:2023-12-02 03:45:09 24 4
gpt4 key购买 nike

这似乎是有效的 Java 语法:

<T> T get();

但这是什么意思呢?有用吗?

<小时/>

对反对者的澄清

我理解在方法参数中使用 T 的含义,如下所示:

T get(Class<T> clazz);

返回类型可以从传入的类推断出来。

但是当你没有参数来说明 T 是什么类型时,它是什么类型?

最佳答案

它是您要为其分配返回值的变量的类型。

例如如果您有这样的方法:

public static <T> T getGenericNumber() {
// the number-generator might return int, double, float etc. values
return (T) numberGenerator.getANumber();
}

例如,您可以将方法的返回值直接分配给 double 值 - 无需强制转换:

Double a = getGenericNumber();

因此,您基本上已将强制转换从变量声明移至方法中。

这有潜在的危险,因为你可以很容易地产生强制转换异常,因为你可以做这样的事情 - 并且仍然能够编译:

String s = getGenericNumber();

关于java - "<T> T get()"是什么意思? (还有用吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36363078/

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