首页 > 其他分享 >查漏补缺1——泛型1

查漏补缺1——泛型1

时间:2024-09-04 20:25:54浏览次数:10  
标签:查漏 数据类型 ArrayList list add stringArrayList 补缺 泛型

泛型的背景

Java推出泛型以前,程序员可以构建一个元素类型为Object的集合,该集合能够存储任意的数据类型对象,而在使用该集合时,需要明确知道存储每个元素的数据类型,否则很容易引发ClassCastException异常

public class Demo1 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add('a');
        list.add(100);
        list.add("123");
        list.add(true);
    }
}

编译成功运行异常
编译成功运行异常,此时我们发现编译器并不会在编译的阶段提示我们代码的错误,我们很难发现,此时泛型的出现解决了这个问题。
在这里插入图片描述
如上图我们只能插入对应String类型的数据,避免出现ClassCastException异常,而且当我们取出集合中的元素时也不需要数据转换。

ArrayList<String> stringArrayList = new ArrayList<>();
        stringArrayList.add("a");
        stringArrayList.add("b");
        stringArrayList.add("c");

        for (int i = 0; i < stringArrayList.size(); i++) {
            String s = stringArrayList.get(i);
            System.out.println(s);
        }

以上可知泛型有两个优点:

  1. 编译期间检查数据类型
  2. 消除了强制类型的转换

标签:查漏,数据类型,ArrayList,list,add,stringArrayList,补缺,泛型
From: https://blog.csdn.net/m0_73731267/article/details/141900636

相关文章

  • 【技术详解】Java泛型:全面解析与实战应用(进阶版)
    文章目录Java泛型:全面解析与实战应用1.引言1.1什么是Java泛型?1.2泛型的历史背景1.3泛型的重要性与优势2.泛型的基本概念2.1类型参数2.2泛型类2.3泛型方法2.4泛型接口2.5泛型擦除3.创建和使用泛型类3.1定义一个简单的泛型类3.2使用泛型类3.3泛型类的类型......
  • Java基础 韩顺平老师的 泛型 的部分笔记
    553,泛型引入packagecom.hspedu.list_;importjava.util.*;importjava.util.concurrent.CompletionService;@SuppressWarnings({"all"})publicclassMap_{publicstaticvoidmain(String[]args){//使用传统的方法来解决ArrayListarrayLis......
  • C#查漏补缺----Exception处理实现
    前言环境:.NETCore8.0系统:Windows11参考资料:CLRviaC#,.NetCore底层入门异常报告的方式程序在执行过程中可能会遇到很多意外的情况,比如空指针,栈溢出等。当程序无法继续完成任务时,就应该抛出异常。处理意外情况常规有两种做法:通过方法的返回值报告错误处理是否发生......
  • 对象池泛型模板
    对象池泛型模板delphi和lazarus都适用。泛型配合继承,无敌的存在。//cxg2024-9-2//对象池的泛型模板unitsys.pool;{$idef.inc}interfaceuses//system--------Generics.Collections,Classes,SysUtils;typeTPool<T>=classprivate//连接池的空闲......
  • 【Java学习】内部类&泛型
    一、内部类内部类是类中的五大成分之一(成员变量、方法、构造器、代码块、内部类);如果一个类定义在另一个类的内部,这个类就是内部类;场景:当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类。内部类分为四种成员内部类:位于一个类......
  • JAVA高级编程之集合框架和泛型(超详细)
    Java集合框架包含的内容Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中Collection接口存储一组不唯一,无序的对象List接口存储一组不唯一,有序(插入顺序)的对象Set接口存储一组唯一,无序的对象Map接口存储一组键值对象,提供key到value的映......
  • C#泛型相关
    什么是泛型?泛型是C#2.0版本和公共语言运行库(CLR)中的一个非常重要的新功能。泛型就是类型参数化,用于处理的数据类型不固定的情况下,将类型作为参数传入。使用泛型的好处?代码复用:我们一套代码可以支持不同的类型。降低了耦合性:代码逻辑和数据类型之间分离,实现了解耦。更好......
  • ts---泛型
    泛型:是一种编程语言特性,允许在定义函数、类、接口等时使用占位符来表示类型,而不是具体的类型。我的理解:泛型就是广泛的类型,既然是广泛的类型,就是应用范围很广,可适用于多种形式,目的是为了提高代码的复用性。优势:代码重用:可以编写与特定类型无关的通用代码,提高代码的复用性。......
  • # 泛型中的new关键字的约束的函数
    泛型中的new关键字的约束的函数一般用于泛型约束,在函数或者类的末尾,通过whereT:new()约束,确保T类型可以被实例化。应用场景在封装sqlsugar中我遇到了类似的用法,传给sqlsugar中的entity必须有一个公开的无参构造函数......
  • sqlsugar 封装 单例模式 多数据库 泛型
    PlayGround\.config\dotnet-tools.json{"version":1,"isRoot":true,"tools":{"csharpier":{"version":"0.29.1","commands":["dotnet-csharpier......