【问题标题】:Terminology on generics types [duplicate]泛型类型的术语[重复]
【发布时间】:2013-11-27 17:53:21
【问题描述】:

当我读到泛型编程时,经常会用到这两个术语:

  1. 参数化类型;
  2. 类型参数

它们之间有区别吗?

【问题讨论】:

  • 是的,取决于编程语言。
  • 请选择一种语言。

标签: c# java c++ generics


【解决方案1】:

在 Java 中,在以下声明中

public class Foo<T> { ... }

Fooparameterized typeT 是一个类型参数。

【讨论】:

  • 实例创建(即Foo f = new Foo();)也是参数化类型吗?
  • @xdevel2000 Java 中的泛型是一个编译时概念(想想类型擦除)。当我们谈到类型时,我们指的是数组、类、接口或枚举类型。所以实例不是任何类型的类型。在您评论的代码 sn-p 中,&lt;Integer&gt; 部分是一个类型 argumentFoo 是一个 参数化类型
【解决方案2】:

使用 C++ 术语:

一个类模板对应一个参数化类型——一旦你为参数指定了参数,它就变成了一个类型。

类型形参是模板的形参,其实参是类型。

【讨论】:

    【解决方案3】:

    泛型类型也称为参数化类型。

    类型参数是指与泛型类型关联的类型。例如,与

    Dictionary<T1, T2>
    

    T1 和 T2 是类型参数。

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 2018-06-12
      • 2015-11-20
      • 1970-01-01
      • 2011-04-16
      相关资源
      最近更新 更多