Java的泛型

java泛型

泛型的使用能够大大程序的安全性,java泛型即在jdk1.5以后提出的一种语言系统的扩展,咱们平常的代码中也经常会遇到,之前没有太多去在乎留意他的做用,不过在引用的泛型以后肯定能带来一些便利。 java

java中咱们经常使用Map,list,javabean,等等方式来保存数据的格式或数据自己,,,在应用的过程当中,强制转换数据的类型是无奈之举,如在用map 安全

eg: ide


public class TestA {

	public static void main(String[] args) {
		Map map = new HashMap(); 
		map.put("age", "string");
		int n = (Integer) map.get("name");//强制转化,设计思想,原来的数据格式定在程序猿的脑海中,取数据忘记数据的格式!!!
		System.out.println(n);
		
		
		Map<String,Integer> map1 = new HashMap<String,Integer>(); //引入泛型
		map1.put("name", 2);  //引入除Integer其余类型会报异常
		int m =  map1.get("name");
		System.out.println(m);
	}
	
}


简单方便。下面介绍泛型在代码中的应用。 this

案列介绍:供货公司ComA;其中ComA有送货员A1和A2;如今咱们须要只指定公司的人员送货; spa

代码以下: 设计

ComA.java code


package com.swastika.generic.test;

public interface ComA {

	public void sendMessage();
	
}



ComA1.java



package com.swastika.generic.test;

public class ComA1 implements ComA{

	@Override
	public void sendMessage() {
		// TODO Auto-generated method stub
		System.out.println("A公司送货员A1");
	}

}



ComA2.java



package com.swastika.generic.test;

public class ComA2 implements ComA{

	@Override
	public void sendMessage() {
		// TODO Auto-generated method stub
		System.out.println("A公司送货员A2");
	}

}



TestA.java
package com.swastika.generic.test;


public class TestA<T extends ComA> { //指定人员

	T t;
	public TestA(T t) {
		// TODO Auto-generated constructor stub
		this.t =  t;
	}
	
	public void say(){
       t.sendMessage();
	}
	
	public static void main(String[] args) {
		ComA1 a1 = new ComA1();
		ComA2 a2 = new ComA2();
		TestA<ComA1> test = new TestA<ComA1>(a1);   //指定人员a1,
		test.say();
	}
	
}
相关文章
相关标签/搜索