码迷,mamicode.com
首页 > 编程语言 > 详细

java泛型

时间:2018-04-16 11:04:31      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:java泛型

泛型
1)在编译时,由编译器约束放入集合中的类型
2)在运行时,编译器会擦除原泛型类型
3)泛型二边要么都不使用约束,要么二边约束一致类型,同时二边必须使用引用类型
4)为了与JDK1.4兼容,泛型可以一边有约束,一边无约束
思考:不利用中间变量,将二个数交互
5)当一个类中出大量的泛型方式或属性/字段,此时可以将该类作成泛型类
6)如果使用泛型通配符,只能获取与泛型具体类型无关的信息,例如:长度。
7)有二个类,初学者一定要注意:Collections和Arrays

 ``
 public static void main(String[] args) {

    List<String> list = new  ArrayList<String>();
    list.add("liwen");
    list.add("jiayou");
    show(list);

}
public static void show(List list) 
{
    for(Object obj:list)
    {
        String s = (String) obj;
        System.out.println(s + "\t");
    }
}

`   public static void main(String[] args) {
    Boolean numA = false;
    Boolean numB = true;
    System.out.println("numA" + numA);
    System.out.println("numB" + numB);
    swap(numA,numB);
}
//泛型方法
public static <T> void swap(T numA,T numB) {
    T temp = numA;
    numA = numB;
    numB = temp;
    System.out.println("numA" + numA);
    System.out.println("numB" + numB);
}`

//泛型类
public class Apple<T> {

//泛型方式
public void buy(T t){
    System.out.println("苹果:" + t  + "信息");
}

}

使用:

    Apple<Integer> a1 = new Apple<Integer>();
        a1.buy(10);
        Apple<Double> a2 = new Apple<Double>();
        a2.buy(5.5);

通配符

public static void main(String[] args) {
        List<Boolean> booleanList = new ArrayList<Boolean>();
        booleanList.add(true);
        booleanList.add(false);
        show(booleanList);
    }
    public static void show(List<?> list) {
        System.out.println("集合长度为:" + list.size());
        for(Object o : list){
            System.out.println(o);
        }
    }

排序:

List<String> stringList = new ArrayList<String>();
        stringList.add("one");
        stringList.add("two");
        stringList.add("three");
        System.out.println("倒序前:");
        for(String s : stringList){
            System.out.print(s+"\t");
        }
        reverse(stringList);
        System.out.println("\n倒序后:");
        for(String s : stringList){
            System.out.print(s+"\t");
        }
    }
    //倒序集合
    public static void reverse(List<String> stringList) {
        //集合非空且至少有2个值
        if(stringList!=null && stringList.size()>=2){
            Collections.reverse(stringList);
        }
    }

java泛型

标签:java泛型

原文地址:http://blog.51cto.com/357712148/2103800

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!