【问题标题】:Is it allowed to place ...<T> as class name java? [duplicate]是否允许将 ...<T> 作为类名 java? [复制]
【发布时间】:2016-01-07 23:05:51
【问题描述】:

我有一个代表列表中元素的类的代码

public class Element<T>{
   Element<T> next;
   Element<T> previous;
   T info;
}

我有一些想法,但实际上我并没有弄清楚上述声明的全部含义。并且很难找到对这种技术的解释。

【问题讨论】:

  • 这些是泛型。你的用法是正确的。谷歌,因为这个问题很广泛。
  • @SotiriosDelimanolis:我想是这样,尽管我已经演变出这样的观点,即 StackOverflow 可能对至少一些“入门级问题”变得过于敌对,即使是重复的。
  • 对不起,但不知道它被称为泛型。谷歌不容易。或搜索 SO 问题
  • @koalaok:你是对的,很难用谷歌搜索你不知道名字的东西,特别是如果这个东西使用特殊字符。这完全没问题。你现在学会了 :) 顺便说一句,这些字符被称为“尖括号”。

标签: java


【解决方案1】:

班级名称是Element

<T>

表示它是一个泛型类。当你使用它时,你必须对其进行参数化:

Element <Object> e = new Element<Object>();

每次出现

<T>

在类中,将被替换为 Object(你可以放任何你想要的类类型而不是 Object,但不是原始类型)

【讨论】:

    【解决方案2】:

    &lt;T&gt; 是一个generic type,类名就是Element。泛型是一个有点复杂的话题,但您发布的代码看起来是有效的。

    【讨论】:

      猜你喜欢
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 2020-08-06
      相关资源
      最近更新 更多