泛型编程浅析

Java泛型的构成

泛型变量起到的作用:(给编译器带来类型检查的信息)

泛型属于Java的语法糖的一种,提高了Java的健壮性和降低了程序的复杂性

泛型的好处:

  • 简单易用

  • 消除强制类型转换

  • 保证类型安全

直接提高了代码的重用率

下面就是一个使用泛型的小例子,简单表现了泛型的优点:

package generic;

import java.util.ArrayList;
import java.util.List;

public class Example {

    public static void main(String[] args){
        String str;
        List list=new ArrayList();

        list.add("1");
        System.out.println(list.get(0));

        str=(String) list.get(0);
        System.out.println(str);


    }
  }

//此处str=(String)list..get(0)必须进行强转,显得麻烦

泛型实现原理:

依靠类型擦除技术:

类型擦除是在编译器完成的,即在编译期会将泛型类型参数擦除成他的限
定类型

【如果没擦除为Object类型之后在强制类型转换为对应的类型】

泛型的使用情况:

泛型类声明  

泛型接口声明

泛型方法声明

泛型构造器声明


泛型类和接口:

public interface List extends Colection{

...
}

主要是实现类型安全的写入数据(编译器为我们完成类型检查)

List str=new ArrayList();

实现类型安全的读取数据

String mystring=str.get(0);

遍历

1.Iterator

for(Iterator iter=str.iterator();iter.hasNext();){
    String s=iter.next();
    System.out.println(s);

}

2.foreach

for(String s:str){
system.out.println(s);
}

自动封装和自动拆装

List ints=new ArrayList();

ints.add(0);

ints.add(1);

泛型中自动启用拆箱和装箱操作

你可能感兴趣的:(Java基础)