版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JDK5 public int getIntValue() return getIntegerObject(); ,For each,提供新的快速遍历数组和集合的方法 LinkedList list = new LinkedList(); list.add(Hi);list.add(everyone!);for (int i = 0; i list.size(); i+) System.out.println(String) list.get(i); for(Iterator iter = list.iterator(); iter.hasNext(); ) System.out.printl
2、n(String)iter.next(); /新的循环 for (Object s : list) System.out.println(s); 优点 无需中间变量即可遍历数组和集合 如果需要下标,则建议仍然使用第一种方法 如果遍历过程需要进行删除的操作,则建议使用第二种方法,Var args,提供在参数个数不确定情况下的优雅的方法申明方式 public static int add(int . args) int total = 0; for (int i = 0; i args.length; i+) total += argsi; return total; public static
3、void main(String args) int a; a = Varargs.add(1, 2); System.out.println(a); a = Varargs.add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); System.out.println(a); 注意 可变参数只能是方法的最后一个参数 一个方法定义中,只可能有一个可变参数 会自动将数组转换为可变参数,如果不希望这样,则需要强制造型成 Object public void sayHello(Object objects) sayHello(1,2,3,4,5) sayHello(new String
4、1,2,3,4,5) sayHello(new String1,2,3, new int4,5),Generic Type(1/2),例子 Map m = new HashMap(); m.put(“key”, “1”); Integer value = (Integer)m.get(“key”); / runtime exception /Exception in thread main java.lang.ClassCastException: java.lang.String at test.general.main(general.java:13) 使用泛型: Map m = new
5、HashMap(); m.put(“key”, “1”); / compile error 提供编译期类型安全检查 什么是擦除法? 仅在编译期由Java编译期检查泛型,生成的字节码不含 任何泛型信息,所以称之为擦除法。,Generic Type(2/2),主要用于容器类以及基类 泛型中的通配符 Class 受限泛型 不能使用原始类型作为泛型类型 不能使用泛型数组,除非是未绑定的类型的数组(new ArrayList1) List ca = new ArrayList10; / 编译不过 List oa = ca; List li = new ArrayList(); li.add(new In
6、teger(3); oa0 = li; String s = ca0.get(0); 类级别泛型 public interface Comparable public int compareTo(T o); 方法级泛型 class Utilities public static List make(Class first) return new ArrayList(first); ,Annotation(1/4),例子 Stateless Remote public class UserBO extends BOSupport implements IUserBO EJB private ID
7、ataAccessObject dao; Override public IDataAccessObject getDAO() return dao; ,Annotation(2/4),Annotation是元数据,不参与运行逻辑 作用范围 Class、Field、Contructor、Method、Parameter 生存能力 Source Class Runtime,Annotation(3/4),定义 Target(value = ElementType.METHOD, ElementType.TYPE, ElementType.FIELD) Retention(RetentionPol
8、icy.RUNTIME) public interface MyAnnotation String name() default “I”; 使用 MyAnnotation(name=“MyClass”) public class MyClass MyAnnotation(name=“MyField”) private String myField; MyAnnotation(name=“MyMethod”) public void myMethod() ,Annotation(4/4),JDK内置的Annotation Override 表明该方法覆盖了父类方法,如果父类方法发生了变化,该类将
9、会编译不过 SuppressWarnings(“unchecked”) 指示IDE不检查类型信息,和Java编译器忽略类型警告 Deprecated 该方法不被推荐使用 注意事项: Annotation的属性值只能使用常量 如果一个Annotation只有一个属性且属性名为value,那么使用时 value 属性名可省略,Enum(1/2),用于提供确定数目的选项类型 public enum Colors Red, Green, Blue 可用于switch条件 Colors color = Colors.Red; switch(color) case Red: case Green: cas
10、e Blue: default: ,Enum(2/2),Enum 类可有构造器和方法 enum Size SMALL(S), MIDDLE(M), LARGE(L); private String abbreviation; Size(String abbreviation) this.abbreviation = abbreviation; public String getAbbreviation() return abbreviation; public long getTime() return System.currentTimeMillis(); public String toS
11、tring() return super.toString() + - +getTime(); ,enum类型特征,1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 2所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。 3Enum默认实现了Java.lang.Comparable接口。 4Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”.
12、5Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue.因此我们在自己重写toString方法的时候就要注意到这一点,一把来说应该相对应地重写valueOf方法。 6Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。 7Enum还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定,这里Color.Red.ordinal()返回0。,Static import,用于导入静态方法,使得像使用该类静态方法一样 /没有静态导入 import j
13、ava.lang.Math; Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2); /有了静态导入 import static java.lang.Math.*; sqrt(pow(x, 2) + pow(y, 2);,Jdk6 new feature,轻量级HttpServer (附有测试例子) JTable的排序和过滤 脚本语言支持(Scripting) 更简单,更强大的JAX-WS (附有测试例子) Web服务元数据(WebServicesmetadata) JDK6的新特性之一_Desktop类和SystemTray类JDK6的新特性之七_用Console开发控制台程序JDK6的新特性之三_理解StAXJDK6的新特性之九_CommonAnnotationsJD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届长治市重点中学数学高一下期末达标检测模拟试题含解析
- 2026年网络安全事件应急响应计划设计试题
- 2026年财务管理决策能力笔试题目
- 2026年网络编程技术进阶与实战模拟测试题
- 2026年初级安全工程师笔试考试模拟题安全工程
- 2026年程序设计语言Java语言核心考点题库解析
- 2026年医学护理伤口处理方法临床考试题
- 2026年医学专业考研题库生理学与病理学
- 2026年金融投资策略市场分析与风险控制题库
- 2026年交通运输与物流发展知识点题库
- 2025 学年第一学期上海市杨浦区初三语文期末质量调研试卷附答案解析
- 2026年中国化工经济技术发展中心招聘备考题库及一套参考答案详解
- GB/Z 124.1-2025纳米技术石墨烯结构表征第1部分:石墨烯粉末及分散系
- 2025及未来5年中国鼠李糖市场调查、数据监测研究报告
- 企业信息系统操作权限管理规范
- 医患沟通培训课件
- 材料作文“各有千秋”(2024年重庆A卷中考满分作文10篇附审题指导)
- 生物测量仪的数据解读
- 村委鱼塘竞标方案(3篇)
- 中国汽车弹簧行业发展趋势及发展前景研究报告2025-2028版
- 企业公司“十五五”企业发展战略规划(完整模板)
评论
0/150
提交评论