可变参数的应用

package t0422;

public class VaragsTest {

 String name;
 int totalScore;
 
 VaragsTest(String name,int... a){
  this.name=name;
  this.totalScore=this.getTotalScore(a);

 }
 
// VaragsTest(String name,int[] a){     
//  this.name=name;
//  this.totalScore=this.getTotalScore(a);      
//
// }


 int getTotalScore(int[] a){
  int totalScore=0;
  for(int vs:a){
   totalScore+=vs;
  }
  return totalScore;
 }
 public static void main(String[] args) {
  VaragsTest vt = new VaragsTest("张三",new int[]{1,2,3});

//VaragsTest vt = new VaragsTest("张三",1,2,3);
  System.out.println(vt.name);
  System.out.println(vt.totalScore);
 }
}

 

总结:上例  function(String name,int ... a)的用法相当于function(String name,int[] a),不过在用可变参数的时候,可变参数必须是最后一个参数,如对上例进行修改后 function(int ... a,String name)将会报错“The variable argument type int of the method VaragsTest must be the last  parameter”,因为程序可能会将本例中的String类型的参数也当成数组的一员,产生这样的一个歧义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值