新手了解java 泛型基础知识

 更新时间:2021年07月05日 16:17:09   作者:王星伟QAQ  
这篇文章主要给大家介绍了关于Java中泛型使用的简单方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

1、什么是泛型

​ 泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例 如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即 传入实际的类型参数,也称为类型实参)。

泛型是一种参数化类型。

2、泛型的使用规则

  • 泛型是JDK5.0出现,在之前的版本中是不能使用的;
  • 泛型是需要写在一对<>中的;
  • 泛型的类型必须是引用类型,不能是基本数据类型;
  • 如果是基本数据 类型,必须使用其包装类。如果有多个泛型类型,使用逗号分隔;

3、泛型应用实例

示例:

public class DAO<T> {
    private Map<String ,T> map = new HashMap<>();
    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<T> list(){
        Collection<T> values = map.values();
        List list = new ArrayList();
        for (T value : values) {
            list.add(values);
        }
        return list;
    }
    public void delete(String id){
        map.remove(id);
    }
}
public class DAOTest {
    public static void main(String[] args) {

        DAO<User> userDAO = new DAO<>();
        User user1 =new User(1,12,"张三");
        User user2 =new User(2,13,"李四");
        User user3 =new User(3,14,"王五");
        userDAO.save("1",user1);
        userDAO.save("2",user2);
        userDAO.save("3",user3);
        System.out.println(userDAO.get("1"));
        userDAO.update("1",new User(1,18,"张三"));
        List<User> list = userDAO.list();
        System.out.println(list);
        userDAO.delete("1");
        System.out.println(userDAO.list());

    }
}

总结

本篇文章就到这里了,希望对你有所帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Spring Boot项目完美大一统(结果异常日志统一)

    Spring Boot项目完美大一统(结果异常日志统一)

    这篇文章主要为大家介绍了Spring Boot项目完美大一统(结果异常日志统一)的实详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Spring Cloud OpenFeign 远程调用

    Spring Cloud OpenFeign 远程调用

    这篇文章主要介绍了Spring Cloud OpenFeign 远程调用,本文通过远程调用的GitHub开放API用到的OpenFeign作为示例代码作为入口进行讲解。然后以图解+解读源码的方式深入剖析了OpenFeign的运行机制和架构设计,需要的朋友可以参考一下
    2022-08-08
  • 如何通过一个注解实现MyBatis字段加解密

    如何通过一个注解实现MyBatis字段加解密

    用户隐私很重要,因此很多公司开始做数据加减密改造,下面这篇文章主要给大家介绍了关于如何通过一个注解实现MyBatis字段加解密的相关资料,需要的朋友可以参考下
    2022-02-02
  • SpringBoot如何通过自定义注解实现权限检查详解

    SpringBoot如何通过自定义注解实现权限检查详解

    这篇文章主要给大家介绍了关于SpringBoot如何通过自定义注解实现权限检查的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • java 教你如何给你的头像添加一个好看的国旗

    java 教你如何给你的头像添加一个好看的国旗

    这篇文章主要介绍了java 教你如何给你的头像添加一个好看的国旗,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Java线程操作的常见方法【线程名称获取、设置、线程启动判断等】

    Java线程操作的常见方法【线程名称获取、设置、线程启动判断等】

    这篇文章主要介绍了Java线程操作的常见方法,结合实例形式总结分析了java线程的创建、线程名称的获取、设置以及线程启动的判断等相关操作实现技巧,需要的朋友可以参考下
    2019-10-10
  • Java中LinkedHashSet的实现原理详解

    Java中LinkedHashSet的实现原理详解

    这篇文章主要介绍了Java中LinkedHasSet的实现原理详解,LinkedHashSet 是具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现,此实现与HashSet 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表,需要的朋友可以参考下
    2023-09-09
  • Delegate IDE build/run actions to maven 配置会影响程序运行吗?

    Delegate IDE build/run actions to maven 配置会影响程序运行吗?

    这篇文章主要介绍了Delegate IDE build/run actions to maven 配置会影响程序运行吗,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Java模拟实现ATM机

    Java模拟实现ATM机

    这篇文章主要为大家详细介绍了Java模拟实现ATM机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • Java中数组array和列表list相互转换

    Java中数组array和列表list相互转换

    这篇文章主要介绍了Java中数组array和列表list相互转换,在Java中,可以将数组(array)和列表(list)相互转换,但需要注意一些细节和限制,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-09-09

最新评论