java类声明<;T>;

java类声明<;T>;,java,generics,declaration,Java,Generics,Declaration,我熟悉简单的类声明公共类测试,但我不懂公共类测试 您可能指的是Java泛型: 指泛型类型。 Java中引入泛型类型是为了向您提供编译时,这一点很重要,因为类型擦除、类型安全。 它在集合中特别有用,因为它使您从手动铸造中解放出来 阅读更多关于泛型的内容是一个好主意,特别是Angelika Langer关于这个主题的文档非常好:我假设HTML吃掉了你的(你需要写T来显示它) T是类型参数或“泛型”参数。假设你有一张清单。然后是列表的结构,不重要的是你到底在那里存储了什么。可以是字符串、日期、苹果、太

我熟悉简单的类声明
公共类测试
,但我不懂
公共类测试

您可能指的是Java泛型:


指泛型类型。 Java中引入泛型类型是为了向您提供编译时,这一点很重要,因为类型擦除、类型安全。 它在集合中特别有用,因为它使您从手动铸造中解放出来


阅读更多关于泛型的内容是一个好主意,特别是Angelika Langer关于这个主题的文档非常好:

我假设HTML吃掉了你的(你需要写T来显示它)

T是类型参数或“泛型”参数。假设你有一张清单。然后是列表的结构,不重要的是你到底在那里存储了什么。可以是字符串、日期、苹果、太空船,这与添加、删除等列表操作无关。因此,在定义类时将其保持抽象(“这是一个抽象列表”),但在实例化时将其指定(“这是一个字符串列表”)

//在Java中,C#等类似
//定义
公共班级名单{
公共无效添加(T){…}
公共无效删除(T){…}
公共T获取(int索引){…}
}
//用法
列表=新列表();
列表。添加(“x”)//现在很清楚,每个T都必须是一个字符串
...  
这是多态性的另一种重要形式,而不是子类型

在爪哇岛,他们称之为(另见)

//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
...