我熟悉简单的类声明public class test
,但我不理解public class test<T>
。
答案 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)
您可能是指Java Generics:
http://www.oracle.com/technetwork/java/javase/generics-tutorial-159168.pdf
答案 3 :(得分:1)
这是parametric polymorphism,除了子类型之外的另一种重要的多态形式。
在Java土地上,他们称之为Generics(另见Lesson: Generics)。