当前位置:  开发笔记 > 编程语言 > 正文

public void add(int a,int ... b){

如何解决《publicvoidadd(inta,intb){》经验,为你挑选了1个好方法。

有人能告诉我一个实际使用...数组方法的演化吗?它只是一种声明可选参数而不是传递空值的方法吗?

public void add(int a, int... b) {
 // do something
}

add(1);
add(1,2,3); 

mipadi.. 11

String.format是一个很好的实际例子.该方法不知道格式字符串中将出现多少格式化程序,因此它接受可变数量的参数,并且应该将格式化程序(格式字符串)与传递给方法的对象进行一对一映射.

它不是一种声明选项参数而不是null的方式,因为它是声明一个可以处理多个参数的方法.基于我的例子,你可以编写一个sum方法,它接受可变数量的参数并将它们汇总在一起:

public int sum(int... ns)
{
    int sum = 0;
    for (int n : ns) {
        sum += n;
    }
    return sum;
}

这样,根据您当时的需要,您可以将2,3,4或甚至100个数字传递给总和.



1> mipadi..:

String.format是一个很好的实际例子.该方法不知道格式字符串中将出现多少格式化程序,因此它接受可变数量的参数,并且应该将格式化程序(格式字符串)与传递给方法的对象进行一对一映射.

它不是一种声明选项参数而不是null的方式,因为它是声明一个可以处理多个参数的方法.基于我的例子,你可以编写一个sum方法,它接受可变数量的参数并将它们汇总在一起:

public int sum(int... ns)
{
    int sum = 0;
    for (int n : ns) {
        sum += n;
    }
    return sum;
}

这样,根据您当时的需要,您可以将2,3,4或甚至100个数字传递给总和.


甚至是零,这比你想象的更有用,如果你以编程方式调用它并且不需要特殊情况下没有输入的情况.
推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有