gpt4 book ai didi

java - Wild FJ 论文中类型变量和类型参数的区别?

转载 作者:行者123 更新时间:2023-12-01 21:44:17 25 4
gpt4 key购买 nike

在 2005 年 Wild FJ在 Torgersen 等人的论文中,第 2 节和第 3 节的第一段使用术语“类型参数”。然后3.1节第一句介绍了“类型变量”这个词。考虑到讨论它的上下文以及谷歌上缺乏信息,我只能推测“类型变量”专门用于指代通配符。我敢肯定,这是导致在 Java 中实现通配符的“开创性”论文。

编辑:非常感谢 deduper 为编辑我的问题所做的辛勤工作!

最佳答案

在一个方法中,foo(int x) ,使用以下术语:

  • 该方法有 1 个形式参数 ( int x ),尽管它通常被缩短为参数,导致潜在的困惑。 int参数类型x参数名称

  • x是一个参数变量,尽管它通常被缩写为参数,从而导致潜在的混淆。

  • 在通话中,foo(5) ,该值称为参数,尽管通常称为参数值,简称为参数,前导到潜在的困惑。当需要澄清时,它被称为实际参数

如您所见,参数 一词的简写表示 int x , x , 或 5 , 取决于上下文。

对于泛型类型,Foo<X extends Number> ,使用了类似的命名方式:

  • 该类型有 1 个类型参数,其中 extends Number类型绑定(bind)X类型标识符

  • X是一个类型变量

  • 使用时,Foo<Integer> , Integer部分称为类型参数。类型参数可以是通配符。

不要混淆方法 parameter type用泛型 type parameter .

如您所见,您关于““类型变量”用于专门指代通配符”的结论是不正确的。 类型变量指的是类型参数名称,与类型参数是否绑定(bind)无关。

类型变量的“实际”类型,即类型参数,可能是也可能不是通配符,因为它是在泛型类型的使用中指定的,而不是在泛型类型的定义中指定的。

泛型类型变量仅在泛型类型的定义中被引用,类似于方法参数变量仅在方法主体中被引用。

关于java - Wild FJ 论文中类型变量和类型参数的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60921305/

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