首页 > 解决方案 > 如果我删除 int 和 number 之间的点,为什么会出现错误?

问题描述

//后面的点是什么意思?

static void add(int...numbers) {
    int sum = 0;
    for(int num:numbers)
    {
        if(sum !=0){
            System.out.print("+");
        }
        sum+=num;
        System.out.print(num);
    }
    System.out.println("="+sum);
}

标签: java

解决方案


如果我删除 int 和 number 之间的点,为什么会出现错误?

点表示这是一个“可变参数”参数;即你可以有多个值;请参阅Java 中参数类型旁边的 3 个点是什么意思?

因此,numbers您示例中的实际类型位于int[]方法主体内。

因此,当您删除 时...,类型将更改为int。这意味着

    for(int num:numbers)

无效,因为单个int是不可迭代的。


推荐阅读