文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Java变长参数应该注意的问题

Java变长参数应该注意的问题

时间:2010-10-17  来源:juxiangwu

从Java SDK 5开始,Java就支持了变长参数,但是在使用时应该注意如下问题:

1、变长参数只能放在最后。

2、如果出现重载情况,应该注意模糊性。

例如:

class VarArgs {

   static void vaTest(int ...v){
     System.out.print("vaTest(int ...):Number of args:"+v.length+"Contents");

     for(int x : v){
       System.out.print(x+" ");
     }
     System.out.println();
   }

   static void vaTest(boolean ...v){
     System.out.print("vaTest(int ...):Number of args:"+v.length+"Contents");

     for(boolean x : v){
       System.out.print(x+" ");
     }
     System.out.println();
   }

   static void vaTest(String msg,int ...v){
     System.out.print("vaTest(int ...):Number of args:"+v.length+"Contents");

     for(int x : v){
       System.out.print(x+" ");
     }
     System.out.println();
   }
 
}

这种情况下是不会出现异常的,但是下面的情况就会出现编译时错误了:

class VarArgs4 {

  static void vaTest(int ...v){
     System.out.print("vaTest(int ...):Number of args:"+v.length+"Contents");

     for(int x : v){
       System.out.print(x+" ");
     }
     System.out.println();
  }

  static void vaTest(boolean ...v){
   System.out.print("vaTest(int ...):Number of args:"+v.length+"Contents");

     forboolean x : v){
       System.out.print(x+" ");
     }
     System.out.println();
  }
 
}

对于varArgs4的重载是完全正确的,但是去编译不通过:
vaTest();//Error:Ambiguous!
 
相关阅读 更多 +
排行榜 更多 +
幸存者的命运

幸存者的命运

飞行射击 下载
精英战区3d

精英战区3d

飞行射击 下载
货运猎人

货运猎人

飞行射击 下载