利用Java泛型实现简单的泛型方法

环境:Notpad ++ 6.0 + JDK 6.0.31

 

问题:编写一个泛型方法add(),当传入不同数字类型的值时,能够进行加法运算,(如可以传入intlongfloatdouble类型,但要对传入的值做一定的限定,如必须是数字)。

 

解决:利用泛型编写。

 

代码:

 

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));//长整数相加
	}
}


执行效果:

利用Java泛型实现简单的泛型方法_第1张图片

 

你可能感兴趣的:(java,jdk,String,Class,float)