JDK1.5新特性之可变数目参数学习

	总是忘记jdk1.5新特性,总之有好多,写一遍文章来帮助自己记忆,因为在面试过程中会问到。
	**先说一下jdk1.5新特性:**

1)泛型
2)自动拆装箱
3)for循环
4)可变数目参数
5)支持注解
还有很多就不一一说出来,知道这样就可以了。因为自己一直不知道可变数目参数这一特性,所以今天抽时间来学习一下,也是通过百度的,首先说一下可变数目参数适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理 。
注意事项:
1)不定项参数必须放在参数列表最后一个。
例:

public void method(int...args, int i)    //编译错误,因为前面不定项,系统不可以判断i是哪一个

2)不定项参数只能有一个(多个,必然有一个不是最后一个)。
例:

public void method(int...args1, int...args2)   //编译错误,提示不定项的参数必须放最后,因为args1不确定个数,系统不能判断什么时候是args2的参数
public void method(int i, int j, int...args)   //正确用法
public void method(String s, double d, int...args)   //正确用法

3)重载时,运行优先级问题

 public void method(String...args);
 public void method(String s1);
 public void method(String s2, String s3);  //确定参数的方法优先级高于不定项参数的方法
 
 public static void main(String[] args){
     method("看看调用哪个方法");         //调用了method(String s1)
     method("猜猜是哪个", "。。。");     //调用了method(String s1, String s2)
                                       //可知,系统先匹配确定参数的方法,没有再去匹配调用不定项参数的方法
 }

详情点此学习
下面写一个具体的例子
摘抄至http://www.cnblogs.com/whgw/archive/2011/10/01/2197103.html

public class Varable {
 public static void main(String [] args){
  System.out.println(add(2,3));
  System.out.println(add(2,3,5));
 }
 public static int add(int x,int ...args){
  int sum=x;
  for(int i=0;i<args.length;i++){
   sum+=args[i];
  }
  return sum;
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值