java的模板类

本文介绍了一个简单的Java泛型模板类实现示例,通过自定义的双向链表`vector`来展示如何使用泛型确保类型安全,并演示了基本的添加元素及遍历操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java的模板类可以理解为含有Object类型的类。

 

1. java的模板类的模板参数只能是参数类型,成员变量类型等,模板名是确定的。

2. 运行期,模板参数会被当作Object来处理,已经验证

3. 使用模板类的类型安全,只是利用编译器的类型检查,来自动保证运行期的类型强转的正确与安全。


class  TestTemplate
{
	public static void main(String[] args) 
	{
		//vector<T> v=new vector<T>(); 
		Byte b=new Byte((byte)0);
		vector<Byte> v=new vector<Byte>(b);
		v.add((byte)0);
		v.add((byte)1);
		v.add((byte)3);
		v.add((byte)2);
		v.visitAll();
		
	}
}

class vector<T>{

	private int size=0;
	private vectorElement<T> head=null;
	private vectorElement<T> last=null;

	public vector(T datum)
	{
		System.out.println("vector(T datum)!");
		this.head=new vectorElement<T>(datum);
		this.last=this.head;
		this.size=1; 
	}


public boolean add(T datum){

		if(this.size==0){
			this.head=new vectorElement<T>(datum);
			this.last=this.head;
			this.size=1;
		}else{
			vectorElement<T> temp=new vectorElement<T>(datum);
			temp.previous=this.last;
			this.last.next=temp;
			this.last=temp;
			this.size=this.size+1;
		}
		return true;

	}

	public void visitAll()
	{
		vectorElement<T> walker;
		walker=head;
		while(walker !=null)
		{
			System.out.println(walker.datum);
			walker=walker.next;
		}
	}
}

class vectorElement<T>{

	public vectorElement<T> next=null;
	public vectorElement<T> previous=null;
	public T datum=null;

	public vectorElement(T datum){ this.datum=datum; }

}

/*
vector(T datum)!
0
0
1
3
2
请按任意键继续. . .
*/


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值