JAVA集合,复杂度,泛型

news2024/12/28 4:24:14

泛型:
1.存储数据的时候 可以帮我们进行自动的类型检查

2.获取元素的时候,可以帮我们进行类型转换

获取数据时,不需要强转类型转换。

类型形参一般使用一个大写字母表示,常用的名称有:
E 表示 Element
K 表示 Key
V 表示 Value
N 表示 Number
T 表示 Type
S, U, V 等等 - 第二、第三、第四个类型
java怎么编译的?
 
使用擦除机制。
运行时没有泛型概念,编译后,泛型类型擦除为Object类型。
泛型上界

下面这个为什么会报错

 E是引用类型,不能通过大于号比较。

需要实现一个函数,但是此时没有比较函数,因为此时array[i]从原先的E类型变成了Object类型,Object没有实现compare接口。所以需要边界,限制擦除。

 

下面定义String类型会报错,是因为String不是Number的子类。 

 

 下面想实现一个泛型方法,发现E会报错,因为此时E没有意义。

 下面这样弄就好了。

像下面这样调用。

也可以省略类型,此时类型跟随参数类型。 

 把函数设为静态后,就可以不定义对象调用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多目标跟踪:视觉联合检测和跟踪

国内头部以自动驾驶全站技术为主线的交流学习社区(感知、归控等),包含大量前沿论文解读、工程实践(源代码)、视频课程,热招岗位。欢迎加入! 点击上方“迈微AI研习社”,选择“星标★”公众号 重磅干货&#…

Python每日一练(20230516) 打家劫舍 I\II\III\IV HouseRobber

目录 1. 打家劫舍 I House Robber i 2. 打家劫舍 II House Robber ii 3. 打家劫舍 III House Robber iii 4. 打家劫舍 IV House Robber iv 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏…

除了OA以外,只用点击按钮就能实现协同办公,靠一个工具就能实现

OA不同时期,不同功能 OA是办公自动化系统,与互联网技术的发展有着密切的联系。 很多办公场景都离不开OA协同系统。OA是办公系统,借助与互联网的交互性,开创出的一种新型的办公方式。 所以,说到OA软件,在不…

Linux 网络基础(1)基础知识、IP地址、端口、协议、网络字节序

基础知识 网络发展背景: 网络的划分:局域网(覆盖范围在1000m以内)、城域网(覆盖范围在20km以内)、广域网(更大范围) 组网方式:以太网、令牌环网.... 日常名词&#xff1a…

ChatGPT「最强竞争对手」Claude有了史诗级更新~~~百页数据一分钟读完还能做出总结

号称ChatGPT「最强竞争对手」的Claude,迎来史诗级更新—— 模型记忆力原地起飞,现在1分钟看完一本数万字的小说,已经是一件很理所当然的事情了。 消息一出,评论区直接炸了,网友们蜂拥而至,「wocao连连」&am…

报表解决方案Telerik Reporting - 轻松完成嵌入式报表开发

假设您是一名开发人员,思考一下您的用户将从Web报表设计器中得到什么吗?他们能突出异常数据吗?他们能够从头开始创建一个报告吗?让我们站在商业用户的角度,看看这到底是怎么回事。 Telerik Reporting Web Designer是一个多功能且用户友好的…

Redis系列--redis管道

一、前言 1、reids客户端向服务端发送命令分四步(发送命令-命令排队-命令执行-返回结果),并监听socket返回,通常以阻塞模式等待服务端响应。 2、服务端处理命令,并将结果返回给客户端 以上两步称为:Roun…

榜店商城独立版禾匠队列服务测试失败问题解决方法-开启禾匠队列教程

发现很多用户在安装完成后或者在使用独立版本的过程中可能突然会遇到测试不通过,队列测试失败的情况,安装完成后输入站点域名登录到商城后台,先清理缓存然后进入“设置”-“队列服务”,按要求启动服务并测试服务是否正常运行,如果运行失败的话,如下图所示 这里狮子喵就给…

端子引脚焊接异常分析

No.1 案例概述 PCBA端子引脚焊接发生异常,通过对PCBA基板和端子进行一系列分析,定位到问题发生的原因在于共面性不良,且端子焊接引脚与锡膏接触程度不足导致。详细分析方案,请浏览文章获知。 Q:什么是共面性? 共面性也…

第一章 Java语言概述

一 Java知识脉络图 1.1 Java基础全程脉络图 1.2 本章专题与脉络 二 计算机的硬件与软件 2.1 计算机组成:硬件软件 2.2 CPU、内存与硬盘 CPU(Central Processing Unit,中央处理器) 人靠大脑思考,电脑靠CPU来运算、控…

LocalAI - 兼容OpenAI API的本地大模型技术栈【LLM】

LocalAI 是一个用于本地推理的 与OpenAI API 规范兼容的REST API, 它允许使用消费级硬件在本地或本地运行模型,支持llama.cpp、alpaca.cpp、gpt4all.cpp、rwkv.cpp、whisper.cpp、vicuna、koala、gpt4all-j、cerebras 等大模型。 推荐:用 NSD…

linux入门---模拟实现命令行解释器

目录标题 前提准备工作 前提 平时使用指令操作linux系统的时候可能会输入一些不好的指令,这些指令可能会对操作系统内核造成影响,所以就有了命令行解释器这个东西,它会过滤掉那些不好的指令从而让linux系统更加的安全,比如说我们…

初识linux之线程池与一些常见的锁

目录 一、线程池的概念 1. 线程池的概念 2. 线程池的应用场景 二、模拟实现一个线程池 1. 线程的简单封装 2. 锁的简单封装 3. 线程池的模拟实现 3.1 整体结构及头文件 3.2 构造函数 3.3 析构函数 3.4 线程启动 3.5 传入任务 3.6 整体结构 三、线程安全的单例模式…

向基于语义模型的操作集成的演变

在过去的许多年里,已经定义了许多架构方法,用于系统集成以及其信息和流程的表示。这些方法包括面向数据、面向消息、面向服务和面向信息的方法。需要探讨的问题是: 这些不同的方法有何不同和联系?从实时运营整合架构的角度来看&a…

MQTT协议理解

提示:记录mqtt服务搭建及访问教程 文章目录 前言一、MQTT是什么?二、使用步骤1.MQTT服务器搭建2.MQTT集成 总结 前言 一直想了解下mqtt,本人又懒,被动型学习,刚好项目需要,此篇记录下MQTT搭建过程及心得体…

小模型媲美2000倍体量大模型,谷歌提出新思路:蒸馏也能Step-by-Step

深度学习自然语言处理 原创作者:林哲乐 论文:Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes地址:https://arxiv.org/pdf/2305.02301.pdf录取:ACL2023 进NLP群…

在JavaScript中4种创建枚举方式

本文译者为 360 奇舞团前端开发工程师 原文标题:4 Ways to Create an Enum in JavaScript原文作者:Dmitri Pavlutin原文地址:https://dmitripavlutin.com/javascript-enum/ 使用枚举(enum)可以方便地表示一个变量&…

一个通用的多相机视觉SLAM框架的设计和评估

文章:Design and Evaluation of a Generic Visual SLAM Framework for Multi-Camera Systems 作者:Pushyami Kaveti, Arvind Thamil Chelvan Hanumant Singh 编辑:点云PCL 来源:https://arxiv.org/pdf/2210.07315.pdf 代码&#x…

针对基于智能卡进行认证的活动目录的攻击

最近,我参与了一项攻击基于智能卡的活动目录的工作。实际上,你根本不需要使用物理智能卡来验证登录这个活动目录。证书的属性决定了它是否可以用于基于智能卡进行登录。因此,如果你能获得相应的私钥,那么就可以绕过智能卡的验证实…

借助ChatGPT自动生成PPT

借助ChatGPT自动生成PPT 首先让GPT生成一段markdown格式的PPT内容,尽量描述全面,以什么语言,什么格式,排版等等。 打开mindshow网址,点击import and create,选择以markdown方式创建,再次点击弹…