java基础 泛型

DataWorks数据安全治理最佳实践 DataWorks基于数据安全治理的常见思路,针对资产梳理、技术体系建设和运营体系建设,提供了一系列数据安全产品能力,您可通过“基础防护建设、数据安全防护措施及策略增强建设、数据安全持续运营”三个阶段在DataWorks上落地数据安全治理项目。参考本文启动数据安全治理项目前,建议您先了解DataWorks数据安全产品相关能力了解DataWorks数据安全产品能力后,您可参考如下三个阶段在DataWorks上落地数据安全治理项目。 阅读详情

泛型概述
JDK1.5版本出现的新特性,为了解决安全问题,是个安全机制。
好处:1.将运行时期的classCastException,转移到了编译时期,方便程序员解决问题,让运行时
更安全。
2.避免了强制转换的麻烦。

代码:

import java.util.*;
class GenericDemo
{
	public static void main(String[] args){
		ArrayList<String> al = new ArrayList();
		al.add("adfda");
		al.add("fas");
		al.add("asdf");
		Iterator<String>it = al.iterator();
		while(it.hasNext())
		{
			String s = it.next();
			System.out.println(s+"****"+s.length());
		}
	}
}
格式:通过<>来定义要操作的引用数据类型。那么什么时候定义泛型呢?
通常在集合框架中常见,只要见到<>就要定义泛型,其实<>就是来接收类型的,
当使用集合时,将集合的中要存储的数据类型作为参数传递到<>即可。
实例演示:

import java.util.*;
class GenericDemo2
{
	public static void main(String[] args){
		TreeSet<String> ts = new TreeSet(new LenComparator);
		ts.add("asd");
		ts.add("wer");
		ts.add("hggf");
		Iterator it = ts.iterator();
		while(it.hasNext()){
			String str = it.next();
			System.out.println(str+"####"+str.length());
		}
	}
}
class LenComparator implements Comparator<String>
{
	public int LenComparator(String o1,String o2){
		int num = new Integer(o1.length()).compareTo(new Integer (o2.length()));
		if(num == 0)
			return o1.compareTo(o2);
		return num;
	}
}
泛型类:当类中要操作的引用数据类型不确定的时候,早起定义Object来完成扩展,现在
定义泛型来进行扩展。

class Utils<QQ>
{
	private QQ qq;
	public void setObject(QQ qq){
		this.q = q;
	}
	public QQ getObject(){
		return q;
	}
}
class Generic3
{
	public static void main(String[] args){
		Utils<Worker> u = new Utils<Worker>();
		u.setObject(new Student());
		Worker w = u.getObject();
	}
}
泛型方法:泛型类定义的泛型,在整个类中有效,如果被对象使用,
那么泛型类的对象明确要操作的具体类型以后,所有方法操作的类型
就已经固定了,为了让不同方法操作不同类型,而且类型还不确定,
那么可以将泛型定义在方法上。

//class Demo<T>//泛型定义在类上
//{
//	public void show(T t){
//		System.out.println("show: "t);
//	}
//	public void print(T t){
//		System.out.println("print: "t);
//	}
//}
class Demo1
{
	public <T>void show(T t){

	}
	public <Q>void print(Q q){

	}
}
class GenericDemo4
{
	public static void main(String[] args){
		Demo<String>d = new Demo<String>();
		d.show("你好");
		d.print("hello");
	}
}
此外还可以同时定义类和方法为泛型


特殊之处:静态方法不可以访问类上定义的泛型,如果静态方法要操作的
数据类型不确定,可以将泛型定义在方法上。
泛型定义在方法上时,泛型类的位置在返回值类型前面,修饰符后面,
(如定义在void前static 后)

class Demo3<T>
{
	public void show(T t){
	//与类泛型一致
	}
	public <Q>void print(Q q){
	//自己的泛型类型
	}
	public static <W>void method(W w){
	
	}
}

泛型高级应用
?:通配符。也可以叫占位符。
泛型限定:
? extends E:可以接收E类型或者E的子类型,上限。
? super E:可以接收E类型或者E的父类型,下限。

import java.util.*;
class GenericDemo5
{
	public static void main(String[] args){
		ArrayList<String> al1 = new ArrayList<String>();
		al1.add("abc");
		al1.add("def");
		al1.add("ghe");
		ArrayList<Integer> al2 = new ArrayList<Integer>();
		al2.add(4);
		al2.add(5);
		al2.add(6);
		//调用
		printColl(al1);
		printColl(al2);
	}
//	public static void printColl(ArrayList<?>al){
//		Iterator<?>it = al.iterator();
//		while(it.hasNext()){
//			System.out.println(it.next());
//		}
//	}//注意?和T的区别,?不可以操作数据,T可以对数据进行接收操作。
	public static <T>void printColl(ArrayList<T>al){
		Iterator<T>it = al.iterator();
		while(it.hasNext()){
			T t = it.next();
			System.out.println(t);
		}
	}
}


解决RK3566 USB OTG模式识别问题:从原理图分析到otg_mode文件操作全解析 本文深入解析RK3566 USB OTG模式识别问题,从硬件原理图设计到Linux内核的otg_mode文件操作,提供全面的调试方案。针对USB_OTG0_ID引脚电路设计、电源管理关联及内核驱动交互等关键点,给出实战调试技巧和常见问题解决方案,帮助开发者高效解决USB OTG模式切换难题。 阅读详情

相关推荐

Aveva Marine C# 二次开发入门001

1# 引用 C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.dll C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.ApplicationFramework.Presentation;usi...

weixin_30245867的博客 1911

【Java基础】6.泛型

Java泛型机制

Maxbao0401的博客 1245

固定资产报废的损失鉴定怎么做?

在社会生产的日常中,企业经常会遇到固定资产报废的损失鉴定,那么怎么去做鉴定?哪些情况下能申请固定资产报废损失鉴定呢? 今天,华碧鉴定就和大家说一说固定资产报废损失鉴定那些事儿。 符合下列条件之一的固定资产可申请报废: 1、使用年限过长,功能丧失,完全失去使用价值,或不能使用并无修复价值的; 2、产品技术落后,质量差,耗能高,效率低,已属淘汰且不适于继续使用,或技术指标已达不到使用要求的; 3、严重损坏,无法修复的或虽能修复,但累计修理费已接近或超过市场价值的; 4、主要附件损坏,无.

weixin_50362670的博客 2115

【java基础】Java 泛型

在 Java 编程的世界里,泛型是一项极具魅力的特性。它如同一位神奇的魔法师,赋予代码更高的灵活性、更强的类型安全性以及更好的可维护性。借助泛型,我们能够编写出更加通用的代码,避免为不同的数据类型重复编写相似的逻辑。泛型,简而言之,就是参数化类型。它允许我们在定义类、接口或方法时,使用一个或多个类型参数来替代具体的数据类型。这些类型参数在实际使用时会被具体的类型所替换,从而实现代码的复用。泛型类是在定义类时使用类型参数的类。类型参数通常用大写字母表示,常见的有T(Type)、K(Key)、V。

小李同学的博客 1545

Delphi 13 Beta初体验:手把手教你安装RAD Studio Ganymede,并实测新条件运算符

本文详细介绍了Delphi 13 Beta(代号Ganymede)的安装步骤和新特性,重点解析了新增的条件运算符语法。通过实测对比,展示了64位IDE的性能提升和新语法在代码简洁性上的优势,为开发者提供了从安装到实战的完整指南。

weixin_30399821的博客 203

4D 毫米波雷达:智驾普及的新路径(一)

总体而言,4D 毫米波雷达具有更佳的探测能力,更高的分辨率和精度,在人工智能技术的加持下,能够实现更加智能化的感知和跟踪,从而为自动驾驶、智能交通等领域提供更加可靠的数据支持。博世的第五代引入了俯仰维度,但其角度分辨率较差,且最大探测距离为。车载毫米波雷达的尺寸受限,我们认为通过算法的优化、天线内置等方式可以在保障性能的前提下,压缩尺寸,便于车企进行灵活的设计安装。在物理设计、天线性能设计、电连接、封装工艺和材料、散热处理、可靠性与自动化测试等方面进行持续优化,推出可大规模量产的高性能毫米波雷达解决方案。

奔袭的算法工程师 3954

java基础 泛型

本文主要介绍的java基础中的泛型的相关知识,包括泛型的介绍和用法

m0_75209145的博客 624

【文本分析学习】Anaconda+pytorch虚拟环境下的pycharm文本分析(含分词、词性标注、词形归一化、停用词、文本情感分析、词频、文本相似度,附数据代码) NLTK

文本分析学习之 Anadconda+pytorch虚拟环境下的pycharm文本分析(含分词、词性标注、词形归一化、停用词、文本情感分析、词频、文本相似度,附数据代码)

littlexmj的博客 2330

JAVA基础之泛型

Java基础知识泛型分享

王文强 1695

BurpSuit在不同浏览器中配置代理

文章通过分享各大浏览器如何设置代理的知识,帮助初学者快速掌握代理配置相关技能。

北冥同学的成长记录笔记 1万+

python爬虫入门教程(非常详细)

爬虫指的是一种自动化程序,能够模拟人类在互联网上的浏览行为,自动从互联网上抓取、预处理并保存所需要的信息。爬虫运行的过程一般是先制定规则(如指定要抓取的网址、要抓取的信息的类型等),紧接着获取该网址的HTML源代码,根据规则对源代码进行解析和抽取,最后进行处理和保存。爬虫在实际应用中广泛使用,如搜索引擎、大数据分析、交易数据采集等领域,都需要用到爬虫技术来实现信息的定向采集和处理。

工宗浩生财指南针 2万+

java 泛型基本类型时_Java基础之泛型

一、泛型的理解与简单使用泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这...

weixin_39936558的博客 628

Fiori Elements Analytical List Page 标题区配置全攻略:从变体、过滤模式到 UI.KPI 的工程化落地

ALP标题区是Fiori Elements Analytical List Page的核心交互区域,承担变体管理、过滤模式切换、KPI展示等关键功能。本文系统解析了标题区的组成结构、可用能力及工程实现要点,包括:1)标题区包含过滤类型切换、全局KPI、变体管理等交互元素;2)详细说明视觉过滤与紧凑过滤的同步规则及实现方式;3)介绍OData V2下通过UI.KPI注解配置标题区KPI的方法;4)提供manifest.json配置示例和CDS注解写法。文章还对比了V2与V4版本的差异,为ALP开发提供实用指导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 244

Java泛型终极指南:从基础到高级应用

泛型(Generics)是Java SE 5.0引入的一个重要特性,它允许在定义类、接口和方法时使用类型参数(Type Parameters)。泛型的本质是参数化类型,即所操作的数据类型被指定为一个参数。专业解释:泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗理解:就像方法有参数一样,泛型让类型也可以作为"参数"传递。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1277

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java基础(二十):泛型

在JDK5.0之前只能把元素类型设计为ObjectJDK5.0时Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时指定集合元素的类型所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值或参数的类型这种语法形式就叫泛型的形式我们称为类型参数,这里的"类型"习惯上使用T表示,是Type的缩写。即::代表未知的数据类型,我们可以指定为,,等。

从基础到源码解析的学习记录 1509

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

泛型-Java泛型基础

面向对象相对于面向过程而言,是软件领域的

喻红叶 930

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java:泛型基础

泛型 引入泛型 传统编写的限制:   在Java中一般的类和方法,只能使用具体的类型,要么是基本数据类型,要么是自定义类型。如果要编写可以应用于多种类型的代码,这种刻板的限制就会束缚很多! 解决这种限制的三种方法: 1.多态:将方法的参数类型设为基类,那么该方法就可以接收从这个基类导出的任何类作为参数。 class Primary{} //定义基类 cla

悠悠的博客 381

Java基础之泛型

泛型1.基础概念2使用泛型的原因2.1当不使用泛型时2.2当使用泛型时 1.基础概念 所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。 从JDK1.5以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型,正如:List< String>,这表明该

smilecb的博客 293

Java基础之泛型机制介绍

在计算机科学中,泛型是一种编程语言的特性,它允许开发者在定义类、接口或方法时引入类型参数,以实现对多种数据类型的支持。通过这种机制,开发者能够在保证类型安全的前提下设计出更具通用性和灵活性的代码。泛型的核心目标是增强代码的抽象能力,使其能够适应多样化的数据类型和需求场景,而无需牺牲类型的严谨性。从根本上看,泛型的定义是基于参数化类型的思想,它允许在编译期通过具体的类型来实例化参数化的代码结构。

道可道非常道 1547

Java之泛型基础

从这里开始再次回顾一下java基础,目的是再次深入一点学习,不是教程,主要以相关知识的重点为主,有时候可能有较强的偏向性,所以可能会遗漏一些基础概念或者之类的东西。泛型学习笔记上篇,主要记录java泛型相关基础,包括为什么引入泛型,泛型的使用方式,以及在JDK或框架中的典型应用。

Oscar Chen 2327

Java基础:泛型编程基础

java也要考试,对几个不太熟悉的知识点先进行整理,假期会系统的对每块知识进行整理顺带吐槽一下,手写代码的方式考核真的很让人排斥,也很让人头疼!!!!本博文为记录且仅为记录学习,不作商业用途。其中部分内容来自海贼宝藏课程,笔者仅为加深印象和系统性以笔记形式呈现,若有侵权请联系作者删除。

m0_67314592的博客 1300

Java基础学习之泛型的使用

Java基础学习之泛型的使用 文章目录Java基础学习之泛型的使用前言一、泛型是什么?二、泛型的三种常见使用1.泛型类2.泛型方法3.泛型接口总结 前言 本文记录了作者学习泛型的内容。 一、泛型是什么? 泛型是一种未知的数据类型,当我们不确定使用什么数据类型时使用泛型。 泛型也可以看作是一种变量,用来接收数据类型。 例如,在我们定义集合的时候,不确定集合中存储的数据类型,所以需要使用泛型。 二、泛型的三种常见使用 1.泛型类 在类名后加<泛型>。 注意:一个类是泛型类不代

weixin_45855864的博客 239

Java基础——泛型(面试问题)

泛型和上一篇博客《Java中常用关键字》一样,是在面试Java基础内容时,比较容易被问到的问题。 所以这篇博客继续总结Java基础部分——泛型的相关知识,包括—— 目录 什么是泛型; 泛型的实现原理; 泛型的特性; 使用场景; 测试用例; 泛型的具体使用;(泛型类,泛型接口,泛型通配符,泛型方法,泛型数组) 静态方法与泛型; 为传入的泛型实参进行上下边界的限制; 1、什么是泛型...

Ysunflower的博客 548

Java基础——泛型详解!!!!!!

泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。

qq_52519008的博客 1473

java泛型基础及样例

java泛型基本理解和例子

KuboDash的博客 494

Java基础学习——Java集合(四)泛型、泛型类与泛型方法、泛型的通配符

一、

skx1102195517的博客 610
上一篇: java基础——集合框架
下一篇: ——多态
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值