8.1.1泛型概述下面使用泛型优化案例一。具体代码如下所示。案例二演示publicclassExample03(publicstaticvoid main(Stringlargs)Il创建一个只保存lnteger类型的List集合List<Integer>intList=newArrayList<Integer>0intList.add(1);intList.add(2);1下面代码将出现编译时异常intList.add("3");for(inti=O,i<intList.sizeO;i++)下面的代码无需强制类型转换Integernum=intList.get(i);yx.ityxb.com
yx.ityxb.com 8.1.1 泛型概述 案例二演示 下面使用泛型优化案例一。具体代码如下所示。 public class Example03 { public static void main(String[] args) { // 创建一个只保存Integer类型的List集合 List<Integer> intList = new ArrayList<Integer>(); intList.add(1); intList.add(2); //下面代码将出现编译时异常 intList.add("3"); for (int i = 0; i < intList.size(); i++) { //下面的代码无需强制类型转换 Integer num=intList.get(i); } } }
8.1.1泛型概述案二例代码分析在案例二的代码中,List<Integer>指定创建的集合intList的类型形参为Integer,也就是创建后的intList集合中只能保存Integer类型的元素;第11行代码不用进行强制类型转换,因为此时intList集合会记住集合内所有元素都是Integer类型。如果需要创建一个只保存String类型的List集合时,只需在创建集合时,使用<String>的类型形参替换<Integer>即可。yx.ityxb.com
yx.ityxb.com 8.1.1 泛型概述 案二例代码分析 在案例二的代码中,List<Integer>指定创建的集合intList的类型形参为Integer ,也就是创建后的intList集合中只能保存Integer类型的元素;第11行代码不用进 行强制类型转换,因为此时intList集合会记住集合内所有元素都是Integer类型。 如果需要创建一个只保存String类型的List集合时,只需在创建集合时,使用 <String>的类型形参替换<Integer>即可
8.1.2使用泛型的好处先定一个小目标!了解使用泛型的好处,能够说出使用泛型编程的好处yx.ityxb.com
yx.ityxb.com 8.1.2 使用泛型的好处 先定一个小 目标! 了解使用泛型的好处,能够说出使用泛型 编程的好处
8.1.2使用泛型的好处>>使用泛型的好处(1)提高类型的安全性使用泛型后,将类型的检查从运行期提前到编译期,编译期的类型检查,可以更早、更容易的找出因为类型限制而导致的类型转换异常,从而提高程序的可靠性。(2)消除强制类型转换使用泛型后,程序会记住当前的类型形参,从而无需对传入的实参值进行强制类型转换。使得代码更加清晰和筒洁,可读性更高。yx.ityxb.com
yx.ityxb.com 8.1.2 使用泛型的好处 使用泛型的好处 (1)提高类型的安全性 使用泛型后,将类型的检查从运行期提前到编译期,编译期的类型检查,可以更早、更 容易的找出因为类型限制而导致的类型转换异常,从而提高程序的可靠性。 (2)消除强制类型转换 使用泛型后,程序会记住当前的类型形参,从而无需对传入的实参值进行强制类型转换 。使得代码更加清晰和筒洁,可读性更高
8.1.2使用泛型的好处>使用泛型的好处(3)提高代码复用性使用泛型后,可以更好的将程序中通用的代码提取出来,在使用时传入不同类型的参数,避免了多次编写相同功能的代码,以提高代码的复用性。(4)拥有更高的运行效率使用泛型之前,传入的实际参数值作为Object类型传递时,需要进行封箱和拆箱操作,会消耗程序的一定的开销。使用泛型后,类型形参中都需要使用引用数据类型,即传入的实际参数的类型都是对应引用数据类型,避免了封箱和拆箱操作,降低了程序运行的开销,提高了程序运行的效率yx.ityxb.com
yx.ityxb.com 8.1.2 使用泛型的好处 使用泛型的好处 (3)提高代码复用性 使用泛型后,可以更好的将程序中通用的代码提取出来,在使用时传入不同类型的参数 ,避免了多次编写相同功能的代码,以提高代码的复用性。 (4)拥有更高的运行效率 使用泛型之前,传入的实际参数值作为Object类型传递时,需要进行封箱和拆箱操作 ,会消耗程序的一定的开销。使用泛型后,类型形参中都需要使用引用数据类型,即传 入的实际参数的类型都是对应引用数据类型,避免了封箱和拆箱操作,降低了程序运行 的开销,提高了程序运行的效率