什么是泛型,优点?缺点?

原创 2013年12月03日 17:48:28

泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写  体验泛型代码时定义一些可变部份,那些部份在使用前必须作出指明。

    各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型

     泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。


泛型是具有占位符(类型参数)的类、结构、接口和方法,这些占位符是类、结构、接口和方法所存储或使用的一个或多个类型的占位符。

您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险,如下所示:

package myaction;
public interface List<T> {
void add(T t);
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

package myaction;


public class IntegerList<T> implements List<T> {


public void add(T t) {
System.out.println(t.getClass().getName());
}


public static void main(String[] args) {
List<Integer> list = new IntegerList<Integer>();
list.add(new Integer(1));

List<String> list1 = new IntegerList<String>();
list1.add(new String("hello"));

@SuppressWarnings("rawtypes")
IntegerList i=new IntegerList();
List<Object> list2 = new IntegerList<Object>();
list2.add(i);
}


}

运行结果如下:

java.lang.Integer
java.lang.String
myaction.IntegerList


优点:

使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。

泛型最常见的用途是创建集合类。

缺点:

在性能上不如数组快。


相关文章推荐

泛型特点

 泛型的Where  泛型的Where能够对类型参数作出限定。有以下几种方式。  ·where T : struct 限制类型参数T必须继承自System.ValueType。    ·where T...

Java:泛型类型使用总结

泛型是Sun 公司发布的JDK 5.0 中的一个重要特性,它的最大优点是提供了程序的类型安全同可以向后兼容。为了帮助读者更好地理解和使用型,本文通过一些示例从基本原理,重要概念,关键 技术,以及相...

泛型的优点

二、泛型的优点 针对早期版本的通用语言运行时和C#语言的局限,泛型提供了一个解决方案。以前类型的泛化(generalization)是靠类型与全局基类System.Object的相互转换来实现。.N...
  • bestlxm
  • bestlxm
  • 2011年08月01日 13:59
  • 3123

List集合使用泛型与不使用泛型有什么区别?

例如:List lists=new ArrayList();和List lists=new ArrayList();他们两者有什么样区别? 答: 从list中取出的值不一样,第一种的话取出来是o...

深入理解 Java 泛型

首先提个问题: Java 泛型的作用是什么?泛型擦除是什么?泛型一般用在什么场景? 如果这个问题你答不上来,那这篇文章可能就对你有些价值。 读完本文你将了解到: 什么是泛型 为什么引入...

Java泛型的好处

      java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、...
  • sun_abc
  • sun_abc
  • 2010年09月26日 10:29
  • 41641

什么是泛型,优点?缺点?

泛型是具有占位符(类型参数)的类、结构、接口和方法,这些占位符是类、结构、接口和方法所存储或使用的一个或多个类型的占位符。您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的...

[Java] 浅谈泛型的意义与不足

示意 - 泛型代码 泛型是什么 有什么用 为什么要有泛型示意 - 泛型代码// 类的泛型 class Two { public A first; public B second; ...

Java中集合泛型带来了什么好处?

首先,了解一下Java关于泛型的概念。泛型,在C++中被称为模板,就是一种抽象的编程方式。当我们定义类和方法的时候,可以用一种通用的方式进行定义,而不必写出具体的类,这些未知的东西会在真正使用的时候在...

浅析Java泛型的优点

软件代码的可重用性和可靠性是程序开发中需要考虑的关键问题。Java语言的泛型是JDK1.5(JavaDevelopmentKit,Java开发工具包)及以后版本引入的较大的新特性。不仅语言、类型系统和...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是泛型,优点?缺点?
举报原因:
原因补充:

(最多只允许输入30个字)