Java 示例 - 将可变参数与方法重载一起使用

  • 问题描述

    处理方法重载时如何使用可变参数作为输入?
  • 解决方案

    此示例显示如何重载具有可变参数作为输入的方法。
    
    public class Main {
       static void vaTest(int ... no) {
          System.out.print(
             "vaTest(int ...): " + "Number of args: " + no.length +" Contents: ");
          for(int n : no)System.out.print(n + " ");
          System.out.println();
       }
       static void vaTest(boolean ... bl) {
          System.out.print(
             "vaTest(boolean ...) " + "Number of args: " + bl.length + " Contents: ");
          for(boolean b : bl)System.out.print(b + " ");
          System.out.println();
       }
       static void vaTest(String msg, int ... no) {
          System.out.print(
             "vaTest(String, int ...): " + msg +"no. of arguments: "+ no.length +" Contents: ");
          for(int  n : no)
          System.out.print(n + " ");
          System.out.println();
       }
       public static void main(String args[]) {
          vaTest(1, 2, 3);
          vaTest("Testing: ", 10, 20);
          vaTest(true, false, false);
       }
    }
    
  • 结果

    上面的代码示例将产生以下结果。
    
    vaTest(int ...): Number of args: 3 Contents: 1 2 3 
    vaTest(String, int ...): Testing: no. of arguments: 2 
    Contents: 10 20 
    vaTest(boolean ...) Number of args: 3 Contents: 
    true false false 
    
    以下是具有方法重载的可变参数的另一个示例示例。
    
    public class Vararg {
       static void vararg(Integer... x) {
          System.out.println("Integer..."); 
       } 
       static void vararg(String... x) {
          System.out.println("String..."); 
       }
       public static void main(String [] args) {
          int s = 0;
          vararg(s,s);
       }
    }
    
    上面的代码示例将产生以下结果。
    
    Integer...