20分钟熟悉猛虎脾气-JDK1.5新特性介绍

集合笔记(超详细) 课程内容 1、集合的概述 2、Collection 3、List 4、Arraylist、LinkedList、Vector 5、泛型 6、Set 7、Map 8、Collections工具类 9、斗地主的制牌、洗牌和发牌 集合的体系结构 1、集合分类: 单列集合:每个元素都是一个单独的个体 双列集合:每个操作都是针对一对数据来进行的,一对数据作为 一个单位 2、单列集合的体系: ... 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> “JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。 下面我们简单介绍一下这些新特性。 1.泛型(Generic) C 通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。猛虎引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。 Collection c = new ArrayList(); c.add(new Date()); 编译器会给出一个错误, add(java.lang.String) in java.util.Collection cannot be applied to (java.util.Date) 2.For-Each循环 For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。典型的代码为: void processAll(Collection c){ for(Iterator i=c.iterator(); i.hasNext();){ MyClass myObject = (MyClass)i.next(); myObject.process(); } } 使用For-Each循环,我们可以把代码改写成, void processAll(Collection c){ for (MyClass myObject :c) myObject.process(); } 这段代码要比上面清晰许多,并且避免了强制类型转换。 3.自动装包/拆包(Autoboxing/unboxing) 自动装包/拆包大大方便了基本类型数据和它们包装类地使用。 自动装包:基本类型自动转为包装类.(int >> Integer) 自动拆包:包装类自动转为基本类型.(Integer >> int) 在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了我们的问题。 int a = 3; Collection c = new ArrayList(); c.add(a);//自动转换成Integer. Integer b = new Integer(2); c.add(b 2); 这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer. 4.枚举(Enums) JDK1.5加入了一个全新类型的“类”-枚举类型。为此JDK1.5引入了一个新关键字enmu. 我们可以这样来定义一个枚举类型。 public enum Color { Red, White, Blue } 然后可以这样来使用Color myColor = Color.Red. 枚举类型还提供了两个有用的静态方法values()和valueOf(). 我们可以很方便地使用它们,例如 for (Color c : Color.values()) System.out.println(c); 5.可变参数(Varargs) 可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是函数声明中的最后一个参数。假设我们要写一个简单的方法打印一些对象, util.write(obj1); util.write(obj1,obj2); util.write(obj1,obj2,obj3); … 在JDK1.5之前,我们可以用重载来实现,但是这样就需要写很多的重载函数,显得不是很有效。如果使用可变参数的话我们只需要一个函数就行了 public void write(Object... objs) { for (Object obj: objs) System.out.println(obj); } 在引入可变参数以后,Java的反射包也更加方便使用了。对于c.getMethod("test", new Object[0]).invoke(c.newInstance(), new Object[0])), 现在我们可以这样写了c.getMethod("test").invoke(c.newInstance()),这样的代码比原来清楚了很多。 6.静态导入(Static Imports) 要使用用静态成员(方法和变量)我们必须给出提供这个方法的类。使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。 import static java.lang.Math.*; ……. r = sin(PI * 2); //无需再写r = Math.sin(Math.PI); 不过,过度使用这个特性也会一定程度上降低代码地可读性。 JDK1.5 正式版即将发布,让我们共同期待吧。我们可以去http://java.sun.com/j2se/1.5.0/download.jsp,先下载一个beta爽一把。
FxxkSsxx Fxxk四史学习 最初程序,向一切为其他人无私奉献的人致以最崇高的敬意 以及对任何: 形式主义者 道貌岸然者 心怀叵测者 中饱私囊者 致以我最真诚的鄙视。 本原始码专有学习使用,不提供任何替换程序。 任何修改,利用本源码的行为导致的任何后果与本人无关。 立即下载

相关推荐

集合笔记整理.doc

集合笔记 list arraylist集合 linkedlist集合 set hashset集合 treeset集合 map hashmap集合 terrset集合 不可变集合

java8新特性之集合流式操作

1. 集合的流式操作,不是一个数据结构,不负责任何的数据存储; 2. 它更像是一个迭代器,我们可以有序的获取到数据源中的每一个数据,并且可以对这些数据进行一些操作; 3. 流式操作的每一个方法,返回值都是返回流的本身。

qq_39566521的博客 1322

电力电子技术(13)——大功率可控整流电路

目录引言2.6.1 带平衡电抗器的双反星形可控整流电路电路结构的特点接平衡电抗器的原因平衡电抗器使得两组三相半波整流电路同时导电的原理分析谐波分析2.6.2 多重化整流电路概述原理目标1)移相多重联结2)多重联结电路的顺序控制3重晶闸管整流桥顺序控制带平衡电抗器的双反星形可控整流电路(是多重化整流电路的重要形式之一)的特点:适用于低电压、大电流的场合。多重化整流电路的特点:绕组的极性相反的目的:消除直流磁通势如图所示,虽然两组相电流的瞬时值不同,但是平均电流相等而绕组的极性相反,所以直流安匝(电流*匝数)互

weixin_45589295的博客 1万+

Java 集合框架

一. 集合框架被设计成要满足以下几个目标。 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。 对一个集合的扩展和适应必须是简单的。 二.集合框架图: 注解:Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图...

weixin_39999734的博客 283

【IPAM】Netbox docker模式版本升级

NETBOX 是一个开源的网络资源管理系统,主要用于管理 IP 地址、机架、设备、接口等网络资源信息。下面是 NETBOX 的功能、优点和缺点的详细介绍。

u012153104的博客 1330

别再让电池充不满!用CN3791芯片设计太阳能充电电路,这几个调试坑我帮你踩了

本文详细解析了使用CN3791芯片设计太阳能充电电路时的常见调试问题及解决方案。从RCS电阻的选择到MPPT电压偏差的修正,再到线路损耗和温度补偿的优化,提供了全面的避坑指南。通过实测数据和优化方案,帮助工程师提升锂电池充电效率,确保太阳能充电电路的稳定性和可靠性。

weixin_42528191的博客 241

集合及其应用

增强for循环的本质就是使用Iterator迭代器,所有实现了Iterable接口的类都可以使用增强for循环。常用的实现类:HashMap , TreeMap , Hashtable。遍历不是map的强项。有多种集合,底层使用不同的存储结构存储元素,适合不同的存储场景。存储元素的特点是 键值存储, 一个元素由2部分组成。存储元素的特点是 无序 不可重复的(唯一的)存储元素的特点是 无序(存取顺序) 可重复。键的存储特点是 无序 不可重复的。存储元素的特点是 有序 可重复。值的存储特点是 无序 可重复的。

lzp122390的博客 357

ClearML中文文档实战:从安装到第一个实验的保姆级教程

本文提供ClearML从零开始的实战指南,涵盖核心组件理解、Python SDK安装、服务器配置及首个自动化实验的完整流程。通过改造PyTorch训练脚本的实例,详细演示了如何利用ClearML自动记录实验参数、指标与模型,实现机器学习实验的可复现性与高效管理,并简要介绍了进阶的自动化工作流。

weixin_29216049的博客 398

集合笔记 (笔记)

1. 集合的理解和好处 数组 集合 2. 集合的框架体系 Java 的集合类很多,主要分为两大类 单列集合 双列集合 //1. 集合主要是两组(单列集合 , 双列集合) //2. Collection 接口有两个重要的子接口 List Set , 他们的实现子类都是单列集合 //3. Map 接口的实现子类 是双列集合,存放的 K-V //Collection ArrayList arrayList = new Arr

qq_48385654的博客 680

《Autosar_MCAL高阶配置》总目录_培训教程持续更新中...

《Autosar_MCAL高阶配置》总目录_培训教程持续更新中...

「汽车电子助手」的博客 1万+

智能制造——解读AI+工业设备预测性维护解决方案【附全文阅读】

摘要:本方案面向设备密集型制造企业,提供基于AI的预测性维护解决方案。通过工业物联网、大数据和AI算法,整合传感器数据与专家知识库,构建异常检测、故障诊断等模型,实现设备台账管理、智能点检等核心功能。方案配套软硬件工具矩阵,已在锂电子等行业落地应用,可降低维护成本30%以上,减少非计划停机50%,助力企业智能化转型。

cdfunlove的博客 141

20分钟熟悉猛虎脾气----JDK1.5新特性介绍

“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。    下面我们简单介绍一下这些新特性。    1.泛型(Generic)  C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任

JAVA|J2EE|J2ME|JDK|JSP 430

8、音频运行时系统的架构设计

本文深入探讨了音频运行时系统的分层设计及其优势,包括逻辑层和物理层的功能划分。通过分层设计,开发者可以更轻松地管理和优化音频资源,确保其在不同平台上的高效运行。文章还介绍了平台适配与优化、错误处理与调试以及未来发展方向等内容,为开发者提供了宝贵的参考和指导。

juice的博客 463

20分钟熟悉猛虎脾气-JDK1.5新特性介绍 选择自 dazern 的 Blog

“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。下面我们简单介绍一下这些新特性。1.泛型(Generic)C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地

Simon's Tech Book 950

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

集合学习笔记

学习集合需要掌握哪些知识点 1、集合的结构图collection map集合 2、list和set子类的使用 3、hashcode和equals的重写 4、三种遍历集合的方法 4、迭代器的使用 1.什么是集合?     集合就是用来存储一组对象的容器 2.集合和数组的区别     2.1:数组的长度是不可变的,集合的长度是可变的     2.2:数组可以存储基本数据类型,

baichi1616的博客 476

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【数学笔记】集合及简要逻辑

ABC......abc......{a是A中的元素:a属于A,记为a∈Ab不是A中的元素:b不属于A,记为b∈A​}(1)确定性(2)互异性(3)无序性∅(1)N(2)Z(3)Q(4)R(5)N​或N∗(6)C列举法11102357500123⋯500123⋯2⎩⎨⎧​数集点集⋯​有限集无限集​注意⋯∅∅3(特殊性质描述法AIpx)AAx∈I∣。

conti123的博客 2920

蓝牙模块HM-10手册

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

个人关于集合学习的笔记(超详细)

本文章干货内容过多,不易消化

2203_75851285的博客 495

Java集合学习笔记

计算键的哈希值,再计算哈希值确定存放位置,如果位置上的数据不为空,则比较键的哈希值,再比较键的equals。Put方法没有被重写,重写的是newNode()方法,同时LinkedHashMap中的Entry继承了HashMap中的Node,在Node的基础上增加了一对指针,记录增加元素的先后。*contains方法:判断集合中是否含有某元素,两者比较的不是地址,而是内容,用equals方法按顺序依次比较集合中的元素,所以元素如果是自定义的类,要重写equals方法,否则调用父类。具体的执行原理与栈相仿。

heianwajueji的博客 410

JAVA8 十大新特性详解

译者注 将lambda表达式映射到一个单方法的接口上,这种做法在Java 8之前就有别的语言实现,比如Rhino JavaScript解释器,如果一个函数参数接收一个单方法的接口而你传递的是一个function,Rhino 解释器会自动做一个单接口的实例到function的适配器,典型的应用场景有 org.w3c.dom.events.EventTarget 的addEventListener 第二个参数 EventListener。另外要注意的是这些对象是不可变的,操作返回的总是一个新实例。...

Netty711的博客 2883
上一篇: Hibernate的JNDI绑定分析
下一篇: Sun向公众公开新版Java“J2SE 5.0”
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值