gpt4 book ai didi

java - 构造函数是否可以接受由先前参数定义的多个参数?

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:23 24 4
gpt4 key购买 nike

假设您有以下类(class):

public class MyClass {

public MyClass() {
}
}

我希望能够在构造函数中传递可定义数量的参数,如下所示:

    public MyClass(int parameters, int /* "parameters" amount of integers here*/) {
}

我知道我可以使用省略号运算符,但是构造函数将接受比 int “参数”更多或更少的参数。有办法吗?

最佳答案

您不能在 Java 编译器中强制执行此限制,但您可以通过抛出 IllegalArgumentException 来强制执行它:

public MyClass(int numParameters, int... parameters) {
if (numParameters != parameters.length)
throw new IllegalArgumentException("Number of parameters given doesn't match the expected amount of " + numParameters);
// Rest of processing here.
}

这使用 Java 的 varargs接受未知数量参数的功能。

注意:为了清楚起见,我稍微重命名了参数。

关于java - 构造函数是否可以接受由先前参数定义的多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16154392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com