Java泛型总结

Java泛型总结,第1张

Java泛型总结

Java泛型总结

Java泛型定义泛型的语法泛型使用细节自定义泛型自定义泛型接口自定义泛型方法泛型的继承与通配符JUnit练习

Java泛型定义





E的部分全部替换成我们指定的类型

泛型的语法

泛型使用细节


自定义泛型



自定义泛型接口


自定义泛型方法


1.泛型方法,可以定义在普通类中,也可以定义在泛型类中


2.当泛型方法被调用时,类型会确定

泛型的继承与通配符






JUnit


练习

package com.study.generic;

import org.junit.jupiter.api.Test;

import java.util.*;




public class demo04 {
    public static void main(String[] args) {

    }
    @Test
    public void TestList(){
        DAO userDAO = new DAO<>(new HashMap<>());
        User zs = new User(1, 10, "张三");
        User ls = new User(2, 12, "李四");
        User ww = new User(3, 13, "王五");
        userDAO.save("1",zs);
        userDAO.save("2",ls);
        userDAO.save("3",ww);
        List list = userDAO.list();
//        for (User user : list) {
//            System.out.println(user);
//        }
        userDAO.update("3",new User(4, 15, "liyuu"));
        userDAO.delete("2");
        list = userDAO.list();
        for (User user : list) {
            System.out.println(user);
        }
    }
}

class DAO
{
    Map map ;

    public DAO(Map map) {
        this.map = map;
    }

    public void save(String id, T entity){
        map.put(id,entity);
    }

    public T get(String id){
        return map.get(id);
    }

    public void update(String id,T entity){
        map.put(id,entity);
    }

    public List list(){
        List ts = new ArrayList<>();
        Set> entries = map.entrySet();
        Iterator> iterator = entries.iterator();
        while (iterator.hasNext()) {
            Map.Entry next =  iterator.next();
            ts.add(next.getValue());
        }
        return ts;
    }

    public void delete(String id){
        map.remove(id);
    }
}

class User{
    private int id;
    private int age;
    private String name;

    public User(int id, int age, String name) {
        this.id = id;
        this.age = age;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", age=" + age +
                ", name='" + name + ''' +
                '}';
    }

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5719783.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-18

发表评论

登录后才能评论

评论列表(0条)

    保存