泛型及其应用

原创 2016年08月29日 00:02:14

什么是泛型

  对象建立时不指定类中属性的具体类型,而由外部在声明及实例化对象时指定具体类型;

为什么使用泛型

  Object类是一切数据类型的父类,可以接收任何类型的数据,都会发生向上转型操作。

class Point{
	private Object x ;		// 表示X坐标
	private Object y ;		// 表示Y坐标
	public void setX(Object x){
		this.x = x ;
	}
	public void setY(Object y){
		this.y = y ;
	}
	public Object getX(){
		return this.x ;
	}
	public Object getY(){
		return this.y ;
	}
};

public class GenericsDemo04{
	public static void main(String args[]){
		Point p = new Point() ;	// 声明一个Point的对象
		p.setX(10) ;			// 利用自动装箱操作:int --> Integer --> Object
		p.setY("北纬210度") ;		// String --> Object
		int x = (Integer)p.getX() ;	// 取出数据先变为Integer,之后自动拆箱
		int y = (Integer)p.getY() ;	// 取出数据先变为Integer,之后自动拆箱
		System.out.println("整数表示,X坐标为:" + x) ;
		System.out.println("整数表示,Y坐标为:" + y) ;
	}
};

  代码中x,会自动发生装箱操作,并向上转型为Object类型,同理y也是。但是在拆箱的时候,y出现类型转换错误。

  一方面拆箱装箱消耗性能。另一方面它不会再编译时出错,而是在运行时,因此不安全。


泛型的应用

  解决数据类型的安全性问题。在类声明时通过一个标识表示类中某个属性的类型或者某个方法的返回值及参数类型。在实例化时指定具体类型即可。

  它会将类型错误发现在编译时。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

WCF中应用泛型

  • 2015年09月23日 11:53
  • 316KB
  • 下载

C# 单例模式和泛型应用

C# 单例模式和泛型应用 在游戏开发中难免会有很多公用的类,我们可能要在很多类中,得到这些公用类的引用,我们很容易想到单例模式 单例模式 单例模式需要在类中定义该类的一个私有的静态变量,和一个获取改静...

C++泛型编程和设计模式应用

  • 2009年04月19日 14:29
  • 804KB
  • 下载

枚举和泛型的应用举例

  • 2010年09月08日 21:02
  • 508KB
  • 下载

C# 中的委托和事件 分类: .NET 接口+泛型+委托+继承 2011-08-30 10:09 20人阅读 评论(0) 收藏 举报 引言 委托 和 事件在 .Net Framework中的应用非

C# 中的委托和事件 分类: .NET 接口+泛型+委托+继承2011-08-30 10:09 20人阅读 评论(0) 收藏 举报   引言 委托 和 事件在 .Net F...
  • A_post
  • A_post
  • 2011年09月05日 19:26
  • 1268

C++f 泛型编程应用实例

  • 2013年07月13日 23:08
  • 14.02MB
  • 下载

【一步一步了解你——泛型的应用(机房重构)】

前言: 在自己还没有机房重构的时候,通过看别人的博客,就开始初步的了解了泛型,从最开始的登录,就开始使用的泛型,直到自己做到退卡的窗体时候,发现之前的自己的泛型并不对,但是找不到错误的原因,后来看了一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:泛型及其应用
举报原因:
原因补充:

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