JDK 5.0(Tiger)中的一些新特性(3):可变参数
Last modified:2013-04-06 23:54:59
**********************************
5.0中引入了可变参数:
invoke(Object obj,Object... args)
1.4中使用的还是数组:
invoke(Object obj ,Object[] args)
为了兼容1.4版本,如果在向invoke中传入的对象是一个数组类型的时候,我们要么再加一层数组嵌套,要么利用强制转换告诉jvm这里是一个对象。
因为如果没有特殊处理的话,jvm将按照1.4的方法处理,即把数组拆开!
MethodCharAt.invoke(str,new Object[]{new int[]{2}}); MethodCharAt.invoke(str,(Object)new int[]{2});
main方法是一个特殊的方法,他是一个静态的方法,他是执行代码的入口。
那么我们可以在一个类中调用另一个类的main方法:
通常这样做:如果我们自定义了一个接受参数的类Temp,
那么:
Temp.main(new String[]{"111","222","333"});
利用反射我们可以这样做:
Method mainMethod = Class.forName(cn.itcast.day1.Temp).getMethod("main",String[].class); mainMethod.invoke(null,(Object)new String[]{"111","222","333"});
相关推荐
需要注意的是,一个方法中只能有一个可变长参数,且它必须是参数列表的最后一个,如果存在其他参数,可变长参数之前必须有其他非可变长参数。 5. **枚举类型(Enums)**: JDK5.0引入了枚举类型,这是一种特殊的类...
本文将详细介绍JDK 1.5 中的一些关键新特性及其应用场景。 #### 二、核心新特性 ##### 1. foreach 循环 在JDK 1.5中引入了增强型for循环,也称为foreach循环。这一特性允许开发者更简洁地遍历数组或集合中的元素。...
【Core Java Part III】是达内教育集团提供的一份关于Java高级编程的培训课件,主要涵盖了Java 5.0(也称为Tiger)的新特性和设计原则。这份课件强调了达内教育在IT培训中的高质量、稳定性和兼容性,旨在提升学员的...
5. Java SE 5.0 "Tiger":这是Java历史上的一个重要里程碑,引入了泛型、枚举、可变参数、注解等关键特性,显著提升了代码的类型安全性和可读性。 6. Java SE 6 "Mustang":这个版本继续优化了JVM,引入了Swing的...
- **可变参数 (Varargs)**:允许方法接受任意数量的同类型参数。 - **静态导入 (Static Imports)**:简化了对静态成员的引用。 - **注解 (Annotations)**:用于向编译器提供元数据信息,可用于多种用途,如生成文档...