java类声明<t> </t>

时间:2010-09-03 07:25:15

标签: java generics declaration

我熟悉简单的类声明public class test,但我不理解public class test<T>

4 个答案:

答案 0 :(得分:11)

&LT; T>是指泛型。 Java中引入了通用类型,为您提供编译时间,这一点很重要,因为类型擦除,类型安全。 它在集合中特别有用,因为它使您免于手动转换。

最好阅读更多关于泛型的内容,尤其是Angelika Langer关于该主题的文档非常好:http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html

答案 1 :(得分:5)

我认为HTML吃了你的&lt; T&gt; (你需要写&amp; lt; T&amp; gt;来显示它)

T是类型参数或“通用”参数。假设你有一个列表。那么列表的结构并不重要,你在那里存储的是什么。可能是字符串,日期,苹果,SpaceShips,它对列表操作如add,remove等无关紧要。所以你在定义类时保持抽象(“这是一个抽象列表”),但在实例化它时指定它(“这是一个字符串列表”)

//in Java, C# etc would be similar

//definition
public class List<T> {
   public void add(T t) { ... }  
   public void remove(T t) { ... }  
   public T get(int index) { ... } 
}

//usage
List<String> list = new List<String>(); 
list.add("x"); //now it's clear that every T needs to be a String
...  

答案 2 :(得分:3)

答案 3 :(得分:1)

这是parametric polymorphism,除了子类型之外的另一种重要的多态形式。

在Java土地上,他们称之为Generics(另见Lesson: Generics)。