Java集合--泛型集合

java的集合和泛型 第十一章 阅读详情

泛型

特点

  • jdk1.5引入,本质是参数化类型,把类型作为参数传递
  • 语法:<T,…> T称为类型占位符,表示一种引用类型
  • 优点
    • 提高代码重用性
    • 防止类型转换异常,提高代码安全性

泛型集合

  • 参数化类型、类型安全的集合,强制集合元素的类型必须一致
  • ArrayList al=new ArrayList();
    • 对象al中只能添加String类型数据,避免类型转换时可能出现的问题
    • 特点
      • 编译时即可检查,而非运行时抛出异常
      • 访问时,不必类型转换
      • 不同泛型之间引用不能相互赋值,泛型不存在多态

泛型类

/**
 * 泛型类
 * 语法:类名<T>
 * T是类型占位符,表示一种引用类型,如果有多个需要用逗号隔开
 * 泛型类不能实例化,T t=new T();    泛型的类型不确定
 */
public class Generics<T> {
    //使用泛型创建变量
    T t;
    //泛型作为方法的参数、
    public void show(T tt){
        System.out.println(tt);
    }
    //泛型作为方法的返回值
    public T getT(){
        return t;
    }
}

泛型方法

//**
 * 泛型方法
 * 语法:<T> 返回值类型
 */
public class GenericsMethod {
    //泛型方法
    public <T> void show(T t){
        System.out.println("泛型方法:"+t);
    }

    public <T> T show1(T t){
        System.out.println("泛型方法--"+t);
        return t;
    }
}

泛型接口

/**
 * 泛型接口
 * 语法:接口名<T>
 */
public interface GenericsInterface<T> {
    String name="李四";
    T server(T t);
}

泛型接口实现

/**
 * 实现泛型接口,但是不确定类型
 */
public class GenericsInterfaceImpl1<T> implements GenericsInterface<T> {
    @Override
    public T server(T t) {
        System.out.println(t);
        return t;
    }
}
/**
 * 实现泛型接口,但是确定类型
 */
public class GenericsInterfaceImpl implements GenericsInterface<String> {
    @Override
    public String server(String s) {
        System.out.println(s);
        return s;
    }
}

案例

public class testGenerics {
    public static void main(String[] args) {
        //创建泛型类对象,实例化时要确定类型
        Generics<String> generics=new Generics<>();
        generics.t="你好";
        generics.show("拜拜");
        String s=generics.getT();

        Generics<Integer> generics1=new Generics<>();
        generics1.t=100;
        generics1.show(200);
        Integer integer=generics1.getT();

        //实现泛型接口,但是确定类型
        GenericsInterfaceImpl gen=new GenericsInterfaceImpl();
        gen.server("拉拉");

        //实现泛型接口,但不确定类型
        GenericsInterfaceImpl1<Integer> gen1=new GenericsInterfaceImpl1<>();
        gen1.server(1000);

        //泛型方法
        GenericsMethod gm=new GenericsMethod();
        gm.show("你好");
        gm.show1(20);
    }
}

其他相关文章

Java入门4: 泛型和集合 Java泛型和集合用法介绍及案例(附代码) 阅读详情

相关推荐

用Docker-Compose三节点部署生产级Doris集群:从配置文件到故障转移

本文详细介绍了如何使用Docker-Compose部署一个生产级的三节点Apache Doris集群。内容涵盖从核心架构理解、配置文件编写到集群初始化验证的全过程,并重点讲解了如何实现高可用、数据持久化、健康检查以及故障转移等生产级运维关键点,为中小团队提供了一种在容器化便利性与系统稳定性间取得平衡的可靠部署方案。

kkk56的博客 856

java集合 — — 泛型

三、泛型 3.1、泛型概述 在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。 提示:泛型是数据类型的一部分,我们将类名与泛型合并一起看做数据类型。 3.2、泛型的定义和使用 我们在集合中会大呈使用到泛型,这里来完整地学习泛型知识。 泛型,用来灵活地将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递。 3.2.1、定义和使用含有泛型的类 定义格式:

mocoll的博客 1185

LangChain Agent Skills 实战指南:12个案例玩转智能体技能封装与编排

大语言模型应用开发中,智能体(Agent)的能力扩展正从零散的函数调用走向标准化封装。Agent Skills 将某项具体能力组织为带说明、代码与依赖的技能目录,让模型能自动发现和调度,其核心价值在于解决工具数量膨胀后的维护混乱与调用失控问题。与 Tool 的单一执行、MCP 的协议连接不同,Skill 更强调能力的语义描述与组合复用,配合 LangGraph 的状态编排和 LangSmith 的可观测性,可构建生产级智能体系统。在实际场景中,Agent Skills 可覆盖 RAG 知识库问答、多轮记忆保

weixin_34335458的博客 407

JAVA基础(集合进阶) —— 泛型

泛型、泛型类、泛型方法、泛型接口以及 泛型的继承和通配符

hdakj22的博客 1262

Quartz定时任务调度框架中的Misfire策略实战解析

本文深入解析了Quartz定时任务调度框架中的Misfire(失火)处理策略。针对SimpleTrigger和CronTrigger两种常用触发器,详细对比了其各自的Misfire指令(如NowWithExistingCount、FireAndProceed等)的核心行为与适用场景,并提供了基于不同业务需求(如数据补跑、时间点敏感度)的实战选型指南,帮助开发者构建更健壮可靠的任务调度系统。

weixin_29250573的博客 76

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3734

Java集合学习:泛型

Java泛型

qq_59212867的博客 769

结构力学本构模型:复合材料模型:复合材料热力学行为技术教程_2024-08-07_06-54-53.Tex

热塑性复合材料是一种由热塑性树脂基体和增强纤维组成的复合材料。与热固性复合材料不同,热塑性复合材料在加热时可以软化,冷却时硬化,这一过程可以重复进行,因此它们具有可回收和可再加工的特性。热塑性树脂,如聚酰胺(尼龙)、聚碳酸酯、聚醚醚酮(PEEK)等,与碳纤维、玻璃纤维等增强材料结合,可以制备出具有高强度、高刚度和良好耐热性的复合材料。热粘弹性理论是研究材料在温度变化和时间依赖性载荷作用下的变形和应力响应。复合材料,由于其独特的微观结构,展现出复杂的热粘弹性行为。

808

Java中的集合和泛型

Java中的集合和泛型

qq_48802281的博客 712

基于YOLOv11的农作物病虫害检测系统设计与实现

我们使用公开的IP102病虫害数据集作为基础,该数据集包含102种病虫害类别,覆盖水稻、小麦、玉米等多种主要农作物。图像数量:75,222张类别数:102图像分辨率:从640×480到4000×3000不等标注格式:PASCAL VOC格式此外,我们还收集了部分田间实际拍摄的图像以增强模型泛化能力。

YOLO 595

12、每日卫星任务规划问题的不同公式

本文探讨了卫星任务规划问题的多种数学公式表示方法,包括传统的整数线性规划(ILP)模型、改进的基于路径的公式、基于集合覆盖的公式以及动态规划公式。通过案例研究比较了不同公式的求解效率和适用场景,并提供了使用Python进行实际求解的操作步骤。最后讨论了进一步优化策略及未来研究方向,旨在为解决卫星任务规划问题提供全面的理论支持和实践指导。

assembly8low的博客 203

Java泛型详解:Java泛型集合、泛型类、泛型方法、泛型的使用

在 Java 1.5 之前没有泛型,通常需要使用强制类型转换的方式将一种数据类型转换为另一种数据类型,这种转换要求开发者对实际参数的类型具有可预知性。对于强制类型转换错误的情况,编译器可能不会提示错误,但是在运行时会出现异常,这是一个安全隐患。 为了解决这一隐患,从 Java 1.5 开始提供了泛型。泛型可以在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率。本节将详...

jijiangpeng的博客 7444

C#解析基恩士(KEYENCE)PLC数据:KV协议通信与实时监控实现

KV协议是基恩士PLC使用的一种专用通信协议,通常用于与上位机进行数据交换。KV协议通过RS-232C、RS-485、Ethernet等接口与上位机通信,支持多种数据类型的读写,包括但不限于位、字、双字、浮点数等。简洁易用:KV协议的通信格式简单,易于实现。支持多种数据类型:支持位数据、字数据、定长字符串等。高效实时性:能够提供较高的实时数据交换性能,适合实时监控应用。本文介绍了如何通过C#与基恩士KV系列PLC进行通信,实现数据的解析和实时监控功能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1807

Java的泛型与集合

本文章是博主学习了Java的泛型与集合之后的一个学习总结或笔记,欢迎各位小伙伴学习、讨论和交流。

weixin_45977237的博客 915

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java中集合的泛型指定及泛型的自定义

关于jdk5.0之后的新特性:泛型机制 泛型这种语法机制,只是在程序编译阶段给编译器看的,运行阶段不起作用。 泛型在集合中的作用: 当用集合中使用泛型指定之后,说明该集合只能存储这种类型的元素,当你想存储其他元素的时候,编译器会报错。 为什么在集合中使用泛型? 因为大多数情况下,我们只会在集合中存储同一类型的对象。 测试代码: import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class

pipizhen_的博客 1942

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java泛型、集合

java泛型 01-泛型的引入 定义:是用泛型可以指代任意对象类型 引用泛型的作用:简化向上转型和向下转型 //泛型类要+<>,<>内的字母可以随意,但是一般都是用T(type) public class test<T> { private T ob; public T getob() { return ob; } public void setob(T ob) { this.ob=ob;

嘤嘤鸭的博客 256

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java的集合框架和泛型

Java 集合框架,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces和其实现类 classes。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储store、检索retrieve、管理manipulate,即平时我们俗称的增删查改CRUD。数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。

2302_77179144的博客 1179

java泛型集合list_java泛型,泛型集合详解

泛型是从Java 1.5就开始提供了的,那么下面的文章内容,就要重点的来给大家讲解一下java泛型,主要就是要介绍泛型集合方面的内容。泛型能够在编译时检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率。泛型本质上是提供类型的“类型参数”,也就是参数化类型。我们可以为类、接口或方法指定一个类型参数,通过这个参数限制操作的数据类型,从而保证类型转换的绝对安全。泛型集合来看一下下面的示...

weixin_28895433的博客 622

【Java】集合框架和泛型(三)

(1)将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。这就是泛型。泛型的本质就是参数化类型。(2)泛型的定义语法格式如下:类1或者接口 对象 = new 类2();注意:-->“类2”可以是“类1”本身,可以是“类1”的子类,还可以是接口的实现类。-->“类2”的类型实参必须和“类1”中的类型实参相同。(3)例如:ArrayList list = new ArrayList();

swy2560666141的博客 872

Java中集合的泛型(详解)

首先创建3个类 1个 Person类 1个Student类 1个Worker类 Person类中 写两个变量 姓名 年龄 写出构造方法 set/get方法 重写toString方法 Student类继承Person类 写出构造方法 Worker类先声明都不写 泛型: 表示集合中 保存的数据的类型 用集合来保存字符串 要写泛型

SuPrEeMm的博客 1万+

java泛型和集合_泛型和集合

java泛型和集合 问候, 介绍 这周,我将写一些关于泛型的东西(那些有趣的尖括号)。 我需要 一个示例,并决定使用集合及其一些操作。 这周 本文讨论了一个集合类和对该集合的两个有趣的操作: 组合和集合分区。 首先对算法进行描述 给定,然后我们将对它们的通用实现有一些乐趣。 组合方式 对于给定的集合S = [x,y,z],有八组代表所有可能 这三个不同元素的组合: ...

IT与开发人员的地盘 199

java集合 泛型_Java 集合和泛型

一、集合(Collections)Java使用集合来组织和管理对象。1、Java的集合类集合类主要负责保存、盛装和管理对象,因此集合类也被称为容器类。集合类分为Set、List、Map和Queue四大体系。Set 代表无序、不可重复集合;List 代表有序、可重复集合;Map 代表具有映射关系元素的集合;Queue 代表队列,实现元素的先进先出管理。数组也是一种集合类,它是能随机存储和访问引用序列...

weixin_35728636的博客 361

JAVA入门-集合与泛型

Java集合的基本使用

comegoing_xin_lv的博客 1019

java泛型与集合框架

一、泛型 Java泛型是jdk 1.5中引入的一个新特性。泛型是对Java原有的类型系统的一种扩展,其本质是参数化类型,把类型作为参数传递。 常见的泛型有泛型类、泛型接口、泛型方法 语法:<T, …> T称为类型占位符,表示一种引用类型 使用泛型的好处: 编译时检查类型安全,防止类型转换异常,提高代码的安全性 所有的强制转换都是自动的和隐式的,提高代码的重用性 1.1 泛型类的使用 /** * 泛型类 * 语法:类名<T> * 描述:T是类型占位符,表示一种引用类型,可以写

szly_xyk的博客 687

Java集合、泛型和枚举

转载于:http://c.biancheng.net/java/ 在 Java 中数组的长度是不可修改的。然而在实际应用的很多情况下,无法确定数据数量。这些数据不适合使用数组来保存,这时候就需要使用集合。 Java 的集合就像一个容器,用来存储 Java 类的对象。有些容器内部存放的东西在容器内部是不可操作的,像水瓶里的水,除了将其装入和倒出之外,就不能再进行别的操作了,但是很容易装入和倒出;而有些容器内部存放的东西在容器内部是可以操作的,例如,衣柜里面摆放的衣服,不仅可以将衣服存放到衣柜中,还可以将衣服有

qq_41854911的博客 1178

Java集合——泛型

Java泛型是jdk1.5中引入的新特性,本质是参数化类型,把类型作为参数传递 常见形式有泛型类、泛型接口、泛型方法 语法 <T,…> T成为类型占位符,表示一种引用类型 好处 (1) 提高代码重用性 (2) 防止类型转换异常,提高代码安全性 一、泛型类 创建泛型类: package List; /** * 泛型类 * 语法,类名<T> * T是类型占位符,表示一种引用类型,如果编写多个,使用逗号隔开 */ public class MyGener.

lixingecho的博客 674
上一篇: Java集合--Collection集合
下一篇: Java集合--Map集合
likehack
博客等级 码龄8年 526粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

likehack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值