首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 ><T> (尖括号)在Java语言中是什么意思?

<T> (尖括号)在Java语言中是什么意思?
EN

Stack Overflow用户
提问于 2011-07-07 16:03:03
回答 2查看 160K关注 0票数 151

我目前正在学习Java,最近被尖括号(<>)难住了。它们到底是什么意思?

代码语言:javascript
复制
public class Pool<T>{
    public interface PoolFactory<T>{
        public T createObject();
    }
    this.freeObjects = new ArrayList<T>(maxsize)
}

<T>是什么意思?这是否意味着我可以创建T类型的对象

EN

回答 2

Stack Overflow用户

发布于 2011-07-07 16:10:55

称为泛型类型。您可以像这样实例化object Pool:

代码语言:javascript
复制
PoolFactory<Integer> pool = new Pool<Integer>();

泛型参数只能是引用类型。所以你不能使用像int、double、char或其他原始类型这样的原始类型。

票数 11
EN

Stack Overflow用户

发布于 2016-05-20 19:18:30

泛型类是一种在创建数据类型时将其作为参数接受的类。此类型参数是使用尖括号指定的,并且每次实例化类的新实例时,类型都会更改。例如,让我们分别为Employee对象和Company对象创建一个ArrayList

代码语言:javascript
复制
ArrayList<Employee> employees = new ArrayList<Employee>();
ArrayList<Company> companies = new ArrayList<Company>();

您会注意到,我们使用相同的ArrayList类创建这两个列表,并使用尖括号传入Employee或Company类型。让一个泛型类能够处理多种类型的数据减少了大量执行类似任务的类的数量。泛型还有助于减少bug,因为它为所有东西都提供了一个强类型,这有助于编译器指出错误。通过为ArrayList指定类型,如果您尝试将员工添加到公司列表中,编译器将抛出错误,反之亦然。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6607550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档