Java 计数传递给方法的参数

Java 计数传递给方法的参数,java,arrays,Java,Arrays,在java中是否有可能计算传递到方法中的参数数量 有这样的东西: public class practise7 { public static void main(String[] args) { int[] array3 = new int[]{1}; int[] array4 = new int[]{1, 3, 4}; int[] array5 = new int[]{2, 3,}; combine(array3, arr

在java中是否有可能计算传递到方法中的参数数量

有这样的东西:

public class practise7 {

public static void main(String[] args) {

        int[] array3 = new int[]{1};
        int[] array4 = new int[]{1, 3, 4};
        int[] array5 = new int[]{2, 3,};

        combine(array3, array4, array5);
        
    }
   
    public static void combine(int[] array3, int[] array4, int[] array5) {
        //Here i need the number of passed arguments (here 3 e.g.)

        int count = args.length; //found this on google but didn't worked
        System.out.println(count);
        
    }
}

非常感谢

试试这个。它使用var…arg语法

public static void main(String[] args) {

        int[] array3 = new int[]{1};
        int[] array4 = new int[]{1, 3, 4};
        int[] array5 = new int[]{2, 3,};

        combine(array3, array4, array5);
        
    }
   // uses the variable arguments syntax
    public static void combine(int[]...v) {
        //Here i need the number of passed arguments (here 3 e.g.)

        int count = v.length; 
        System.out.println(count);

        for (int[] k : v) {
          System.out.println(Arrays.toString(k));
        }
    }
}
印刷品

3
[1]
[1, 3, 4]
[2, 3]

请注意,在参数列表中组合数组和非数组有时会产生意外的结果。变量语法参数必须是签名中的最后一个参数。

您的解决方案无效,因为使用“args.length”只能获取在主函数中传递的参数数。您可以使用Java的variable Arumings功能,如下所示:

public static void combine(int[] ... arrays) 
{
        int count = arrays.length;
        System.out.println(count);
}

工作-非常感谢!