Java:将预定长度的数组设置为方法参数?

时间:2011-10-28 02:18:02

标签: java arrays parameters arguments

我有一个方法,它接受5个double值并使用它们执行操作。现在参数列表是五个不同的双打。有没有办法将double[]作为参数传递给方法,但确保其长度恰好为5?

一种方法是:

private void myMethod(double[] args) {
    if (args.length == 5) {
        // do something
    }
}

但有更好的方法吗?

4 个答案:

答案 0 :(得分:3)

如果你知道你需要5个双打,那么我认为你最好要求5个不同的双打。如果将它们列出有意义的名称,那么保持变量的顺序是完全的(即使使用intellisense或其他任何名称)仍然很难。如果它们在数组中,则用户需要查阅文档以查看哪个值应该在哪个索引中。

答案 1 :(得分:0)

没有。您不能限制传递给函数的数组的长度。

如果您的目标是将检查代码保留在方法之外,以便更清晰,那么您可以将实际工作委托给另一种方法。

如果您关注的是参数列表的长度,则可以传递参数对象。

答案 2 :(得分:0)

你可以创建一个类,它是一个限制为5个双倍的Vector的特化,但它似乎有点矫枉过正。如果数组中的条目太少或太多,我会抛出异常 - 这可能是编程问题而不是运行时异常。

答案 3 :(得分:0)

您可以将代码放在try-catch块中。这提供了错过不必要的检查。 但如果出现问题,你可以避免出现异常问题。

相关问题