首页 > 编程语言 > 详细

Java基础(basis)-----泛型详解

时间:2019-08-31 20:31:30      阅读:119      评论:0      收藏:0      [点我收藏+]

   1. 集合中的泛型

package com.practice;

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

public class Practice {
    public static void main(String[] args) {
        //泛型,会自动检查添加元素的类型
        List<String> list = new ArrayList<>();
        list.add("AA");
        list.add("BB");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            //不用类型强转
            System.out.println(iterator.next());
        }
    }
}

   2. 泛型类、泛型方法

package com.practice;

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

/**
 * 使用泛型类、泛型方法
 * 
 * @author yyx 2019年8月31日
 */
public class Practice {
    public static void main(String[] args) {
        Goods goods = new Goods("苹果");
        Order<Goods> order = new Order<>();
        order.setT(goods);
        order.add();

        System.out.println(order.list.get(0).getGoodsName());
        System.out.println(order.getE(goods).getGoodsName());
    }
}

// 泛型类
class Order<T> {
    private T t;
    List<T> list = new ArrayList<>();

    public T getT() {
        return t;
    }

    public void setT(T t) {
        this.t = t;
    }

    public void add() {
        list.add(t);
    }

    /**
     * 泛型方法
     * 
     * @param e
     * @return
     */
    public <E> E getE(E e) {
        return e;
    }
}

class Goods {
    private String goodsName;

    public Goods(String goodsName) {
        super();
        this.goodsName = goodsName;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

}

   3. 泛型接口

package com.practice;

public class Practice {
    public static void main(String[] args) {
        SubShowInfo subShowInfo = new SubShowInfo();
        subShowInfo.setUserName("jtx");
        System.out.println(subShowInfo.getInfo());
    }
}

/**
 * 泛型接口
 */
interface ShowInfo<E> {
    E getInfo();
}

class SubShowInfo implements ShowInfo<String> {
    private String userName;

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public String getInfo() {
        return this.userName;
    }

}

 

Java基础(basis)-----泛型详解

原文:https://www.cnblogs.com/fengfuwanliu/p/11419418.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!