【问题标题】:Java variable function parametersJava 变量函数参数
【发布时间】:2011-02-02 08:15:49
【问题描述】:

如何在 Java 中复制此功能?

在 C# 中,您可以使用 params 关键字来指定函数的可变参数列表。

你如何在 Java 中做到这一点?

或者你必须求助于多个重载?

【问题讨论】:

    标签: java function variables parameters


    【解决方案1】:

    C#代码:

    double Average(params double[] nums) {
      var sum = 0.0;
      foreach(var num in nums) 
        sum += num;
      return sum / nums.Length;
    }
    

    等效的 Java 代码:

    double average(double... nums) {
      double sum = 0.0;
      for(double num : nums) 
        sum += num;
      return sum / nums.length;
    }
    

    此功能称为可变参数。你可以阅读更多关于它的信息here

    【讨论】:

      【解决方案2】:

      可变参数函数(Java 语言中的“varargs”)的参数作为数组公开给 Java 函数体。 Wikipedia entry 中的示例完美地说明了这一点:

      public static void printSpaced(Object... objects) {
         for (Object o : objects)
           System.out.print(o + " ");
       }
      
       // Can be used to print:
       printSpaced(1, 2, "three");
      

      【讨论】:

        【解决方案3】:

        您可以使用...。例如:

        public void foo(int... args) {
          for (int arg : args) {
            // do something
          }
        }
        

        【讨论】:

          【解决方案4】:

          在 Java 中,您可以使用 varargs。但这仅适用于1.5 或更新版本。

          【讨论】:

            猜你喜欢
            • 2016-02-13
            • 1970-01-01
            • 2015-03-24
            • 1970-01-01
            • 2016-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-10-28
            相关资源
            最近更新 更多