一个关于泛型的例子

JAVA学习网 2017-12-31 17:50:02

  偶然看见这样一个案例,先上代码:

  

public class GenericAdd{ 
     
    //泛型方法实现两个数相加 
    public <T extends Number> double add(T t1, T t2){ 
        double sum = 0.0; 
        sum = t1.doubleValue() + t2.doubleValue(); return sum; 
    } 
    public static void main(String[] args){ 
        test(); 
    } 
     
    public static void test(){ 
        GenericAdd addTest = new GenericAdd();//新建GenericAdd类 
         
        int num1 = 3; 
        int num2 = 4; 
        System.out.println("整数和:"+addTest.add(num1, num2));//整数相加 
         
        float num3 = 3.0f; 
        float num4 = 7.0f; 
        System.out.println("浮点数和:"+addTest.add(num3, num4));//浮点数相加 
         
        double num5 = 99.0; 
        double num6 = 1.0; 
        System.out.println("双精度浮点数和:"+addTest.add(num5, num6));//双精度浮点数相加 
         
        long num7 = 300; 
        long num8 = 700; 
        System.out.println("长整数和:"+addTest.add(num7, num8));//长整数相加 
    } 

  这段代码很好的解释了我们为啥要用泛型,从上面的代码中我们可以假设,如果我们不用泛型的话,那么我么们在写add这个方法的时候,我们需要写4个,因为我们的参数是不一样的,那么当我们的参数类型改变的时候,我们必须重新写一个方法,方法所要做的内容都不变,变得仅仅是参数而已,很显然,在这个时候我们加入泛型的概念,就大大减少的代码量。暂时好处只到这。

原文出处:https://q.cnblogs.com/q/101503/

阅读(762) 评论(0)