java小白——泛型的简单应用(3)

package test;

public class Fangxingtest3 {

	public static void main(String[] args) {
    String str[] = {"faker","uzi","jacklove"};//对象数组,直接实例化
    Generics<String> tist = new SomethingGenerics<String>(str);	//调用子类实现接口实例化,创建泛型对象
    while(true){//遍历,将泛型对象中的元素输出
    	String s = tist.next();
    	if(s!=null)
    		System.out.print(s+" ");
    	else
    		break;
    	
    }
    System.out.println();
    Integer num[] = {123,-453,5345};//
    Generics<Integer> numGen = new SomethingGenerics<Integer>(num);
    while(true){
    	Integer i =numGen.next();
    	if(i!=null)
    		System.out.print(i+" ");
    	else
    		break;
    }
    System.out.println();
    }

}
interface Generics<T>{  //泛型接口
	
	public T next();
	
}


class SomethingGenerics<T> implements Generics<T>{//泛型类实现泛型接口
	private T something[];//泛型域
	int cursor;//游标,标识something中的当前元素
	public SomethingGenerics(T something[]){//构造方法
		this.something = something;
	}
	public T next(){//获取游标处的元素,实现接口的方法
		if(cursor < something.length)
			return (T) something[cursor++];
		else
			return null;//超出范围则返回空
	}
}

运行结果:
faker uzi jacklove
123 -453 5345

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值