JDK1.5新特性

jdk 1.5 java开发版本 安装包 立即下载
 

以下内容引自:http://www.tot.name/show/3/7/20050323090841.htm

 

 

“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。

  下面我们简单介绍一下这些新特性。

  1.泛型(Generic)

  C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。猛虎引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。

Collection<String> c = new ArrayList();
c.add(new Date());


  编译器会给出一个错误:

add(java.lang.String) in java.util.Collection<java.lang.String> 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<MyClass> 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 windows版本 64位 jdk1.5 windows版本 64位 Java开发依赖环境 立即下载

相关推荐

jdk1.5下载

jdk1.5 比较稳定版本

水仙花数(3位水仙花、100-999之内的所有水仙花、三位及以上水仙花)

水仙花数问题描述3位水仙花输出100-999之内的所有水仙花三位及以上水仙花 问题描述 水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,例如:13+53+3^3=153。 3位水仙花 代码 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.p

仔仔木的博客 7万+

JDK1.5版本免费下载

这个是32位的版本

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

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

王道JAVA 1105

24GHz雷达DIY呼吸监测仪:用树莓派+TI IWR6843搭建生命体征检测系统(附Python代码)

本文详细介绍了如何利用树莓派和TI IWR6843毫米波雷达模块DIY非接触式呼吸监测仪。通过硬件选型、信号处理流水线设计和实时可视化系统搭建,实现高精度的生命体征检测,特别适合医疗健康和运动监测场景。附带的Python代码帮助开发者快速复现该系统。

rl6adventurer的博客 984

【外挂编程】外挂编程技术揭秘(二)

引言: 经过上一篇文章大家可能对外挂有了一个初步的认识,之前的内容比较简单,应该大家很容易掌握。我写作过程中我发现三个篇幅可能写不完,后续还可能要多加几个篇幅,这篇我们就先以内存挂为主吧。话不多说了,让我们开始吧。 文章中代码github地址: https://github.com/Diamonds-ZhaoYu/hz_example 环境要求: 系统:Windows 语言...

c-rain 4032

JDK 1.5 新特性

JDK1.5一个重要主题就是通过新增一些特性来简化开发。

yy139926的博客 1100

Windows10下部署Heygem进行数字人生成

对于使用Heygem生成数字人,需要注意几个问题: + 需要使用Nvidia的显卡。 + 需要在Windows上进行本地部署。主要原因为客户端是Windows的,客户端对上传的视频写入硬编码的`D:\heygem_data\voice\data`目录,需要在容器上读取这些文件。 + 需要在Windows上部署Docker,将Windows的目录映射到容器中,由容器中的服务进行读取。 + 需要特别注意,一定要有D盘,这个D盘是Windows的D盘,不能是插入的USB设备后产生的D盘。 + 需要下载3个Doc

冀辉的博客 5617

Java JDK1.5: 泛型 新特性的讲解说明

java5.0

weixin_52437323的博客 539

告别双导航栏!微信小程序web-view嵌入H5的导航栏隐藏实战(附uniapp代码)

本文详细解析了微信小程序中web-view嵌入H5页面时出现的双导航栏问题,并提供了基于uniapp的完整解决方案。通过环境感知、动态适配和样式隔离等技术手段,实现导航栏的无缝整合,提升用户体验和屏幕空间利用率。文章包含实战代码示例和常见问题排查指南,帮助开发者快速解决这一常见痛点。

weixin_26945061的博客 342

RAG项目简历包装指南:从“流水线工人”到“问题解决者”的跃迁(附代码与思路)

本文代码已在Python 3.11 + CUDA 12.3环境测试,部分功能需LangChain 0.2+支持。

Conan_0728的博客 1885

总结:JDK1.5-JDK1.8各个新特性

JDK1.5-JDK1.8各个新特性 JDK各个版本的新特性 要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。以下介绍一下JDK1.5版本到JDK1.7版本的特性及JDK1.8部分特性。 JDK1.5新特性 1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。 自动拆箱...

热爱生活,向往自由。 450

SAP_SD模块销售开票计划预收款系统配置及前台操作说明

在 SAP SD 中,开票计划(Billing Plan)是一种允许根据时间节点或里程碑对销售订单进行分期开票的功能。其中最常见的一种应用就是预收款(Down Payment Billing),即在销售订单中直接定义某个百分比或金额作为预收款,系统在开票时自动生成预收账单。大额合同或长期项目型销售(先收 20%,交货前收 30%,交货后收 50%)。分期付款模式(分阶段收款)。必须预收款才能安排生产或交货的业务。后台路径:SPRO—销售与分享—销售—销售凭证—销售凭证项目—定义项目类别。

我小时候很黑的博客 1407

JDK1.5 与 JDK1.6的新特性

 一、JDK1.5的新特性        了解Java语言的特色及相关术语        泛型:泛型、通配符、有限制通配符、泛型方法        加强循环        自动装箱/拆箱        枚举        可变参数        静态引入        元数据        控制台输入        改变返回类型        格式化I/

lixiaolong_b的专栏 1778

RK3588嵌入式AI工业部署:YOLOv11 + OpenCV实时推理系统全栈实现

接下来,你可以尝试优化模型(如量化、剪枝)、扩展功能(如多摄像头推理、结果上传到云端),让你的AI应用更加完善。不需要担心技术门槛,我们会一步步带你完成环境搭建、模型转换、部署推理的全流程,最终让你在RK3588上体验AI目标检测的丝滑快感。首先,我们需要把YOLOv11的PyTorch模型(.pt格式)转换成ONNX格式,这是模型部署的第一步。此时,你应该能看到摄像头画面中出现了实时的目标检测框,标注着检测到的物体类别和置信度。文件,这就是RK3588可运行的模型文件。文件,这就是转换后的ONNX模型。

LXY_LOVE36的博客 243

UG\NX二次开发 获取对象的层、颜色、隐藏状态、线宽、线型、高亮显示状态

获取对象的层、颜色、隐藏状态、线宽、线型、高亮显示状态。

王牌飞行员_里海的博客 1980

JDK各个版本的新特性jdk1.5-jdk8

JDK各个版本的新特性   对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。 JDK1.5新特性:  1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类

大树叶 技术专栏 4054

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

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

jdk1.5的新特性

今天在做一张java卷子的时候,发现了一道题:Double d = 1.0;问会不会出错。当时回答是会报错,下来在看jdk1.5的文档的时候才发现这条语句在jdk1.5的环境里是可以编译通过的(jdk1.4及以前版本依然会报错)。而且Byte等等基本数据类型的封装类都具有了这种新特性(和String类非常类似)。看来jdk1.5中添加了许多新的不为我所熟悉的特性。

fly_tiger的专栏 566

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Camera2Demo

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

jdk1.5 jdk1.7 jdk1.8比较重要的新特性

jdk1.5新特性 jdk1.7新特性 switch语句可以使用字符串 泛型推断(又叫泛型简化)     jdk1.8新特性 ①允许接口中有默认方法和静态方法的实现 public interface Inter { public abstract void print(); //其中public可以省略 public default void defaultPrint...

不羁朔风的博客 706

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

枚举及部分JDK1.5新特性

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  第一讲     枚举 一、概述 这里说的枚举,不是集合vector的特有枚举迭代器,而是JDK1.5的一个新特性。之所以单独拿它开刷,是这个知识点比较重要,同时相对来说比较难理解一些。 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表

神之梦 3817

JDK1.5到JDK1.8增加的新特性

一、JDK1.5 1.枚举(Enum类竟然1.5中才出现····) 2.自动拆箱与装箱在jdk1.5之前,如果你程序中出现这样的代码Integer i = 100;编译器会报错,jdk1.5以后,增加了自动装箱与拆箱的特性。我的理解,在这句代码中,“箱”就是Integer。具体解释参考: 【1】一些jdk1.5的新特性 【2】jdk1.5新特性4之自动装箱和自动拆箱与享元模式 【3】Jav

小丸子echo的专栏 1009

JDK1.5 JDK1.6 各自的新特性

JDK1.5 JDK1.6 各自的新特性 2010年06月04日   自己一直用JDK1.5,一个同学突然问我JDK1.5和之前的版本有什么区别吗?我无语了,自己感觉对JAVA了解的还可以,可这一个这么基本的问题都不会...,回来再谷歌上百度一下,总结下:   JDK1.5(JDK5.0)   Java2标准版(Java 2 Platform, Standard Edition, J...

uurrkk 171

JDK1.5新特性概述

JDK1.5以后引入三大常用新特性:泛型、枚举、注解。 枚举 从JDK1.5开始有了枚举。 枚举就是一种高级的多例设计模式。 enum Color { RED,GREEN,BLUE } public class TestDemo { public static void main(String[] args) { System.out.println(Color.BLUE)...

tt 博客 214

<java>新特性(JDK1.5)

1. 新特性(JDK1.5) 从JDK1.0开始,几乎每个版本都会提供新特性。例如在JDK中有以下代表性版本: JDK1.2: 推出了轻量级的界面包:Swing JDK1.5: 推出新程序结构的设计思想。 JDK1.8: Lambda表达式、接口定义加强 现在已经接触了新特性:自动拆装箱、switch对String的支持 1.1 可变参数 现在假设说有这样的要求:要求设计一个方法,用于计算任意...

qq_42711862的博客 255
上一篇: 时间的基本总结
下一篇: 懂javaMail的请来指点
fengfengjava
博客等级 码龄19年 4粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值