【泛型】
起因:JDK1.4之前类型不明确
<1>装入集合的类型都被当做Object对待,从而失去自己的实际类型。
<2>从集合中取出时往往需要转型,效率低,且很容易出错。
解决办法:
<1>在定义集合的时候同时定义集合中对象的类型
----实例程序:
List<String> c = new ArrayList<String>();
//原本传入的强制转换为Object类型,这里不需要了,直接限定为String类型
c.add("aa");
c.add("bb");
c.add("cc");
for(int i=0;i<c.size();i++){
String c = c.get(i);
System.out.println(c);
}
好处:增强程序的可读性和稳定性
【普通泛型】
package com.company.section1; public class Client { //工资低于2500元的上斑族并且站立的乘客车票打8折 public static <T extends Staff & Passenger> void discount(T t){ if(t.getSalary()<2500 && t.isStanding()){ System.out.println("恭喜你!您的车票打八折!"); } }
//这里使用泛型编程,因为传入的参数有两种类型:int,boolean,这样可以实现不同数据类型的操作。
public static void main(String[] args) { discount(new Me()); } } //职员 interface Staff{ //工资 public int getSalary(); } //乘客 interface Passenger{ //是否是站立状态 public boolean isStanding(); } class Me implements Staff,Passenger{ public boolean isStanding(){ return true; } public int getSalary() { return 2000; } }