java数据结构与算法分析学习2(泛型)

        面向对象的一个重要目标就是对代码重用的支持。支持此目标的一个重要的机制就是泛型(generic)。如果除去对象的基本类型外,方法的实现是相同的,那么我们就可以使用泛 型来实现。java在java5以前的版本并不支持泛型的实现,泛型编程的实现是通过使用继承来完成的。下面我们来讨论一下集中基本的java泛型实现方式。

      1.使用Object表示泛型

           java中的基本思想是可以通过使用像Object这样适当的超类来实现泛型。

    public class TestGeneric {

private ObjectstoreValue;

    public Object getRead(){

returnstoreValue;

    }

    public void setValue(Object x){

    storeValue = x;

    }

    

    public staticvoid main(String[] args) {

    TestGeneric s = new TestGeneric();

       //通过object超类实现set不同类型的值

    s.setValue(4);

    int x = (int) s.getRead();

System.out.println("x="+x);

     }

}

2.基本类型的封装

   在我们视线算法的时候,常常遇到语言定型的问题:我们已有一种类型的对象,可是语言的语法却需要一种不同类型的对象。八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char;它们的封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character

3.使用接口类型表示泛型

public static Comparable findMax(Comparable[] attr){

    int maxIndex =0;

    for(int i=1;i<attr.length;i++){

    if(attr[i].compareTo(attr[maxIndex])>0){

    maxIndex = i;

    }

    }

return attr[maxIndex];

    

    }

    public staticvoid main(String[] args) {

    TestGeneric s = new TestGeneric();

    String [] st1 = {"joe","Bob","Bill","Zeke"};

    System.out.println(s.findMax(st1));

}

    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值