我有一个方法,它接受5个double值并使用它们执行操作。现在参数列表是五个不同的双打。有没有办法将double[]
作为参数传递给方法,但确保其长度恰好为5?
一种方法是:
private void myMethod(double[] args) {
if (args.length == 5) {
// do something
}
}
但有更好的方法吗?
答案 0 :(得分:3)
如果你知道你需要5个双打,那么我认为你最好要求5个不同的双打。如果将它们列出有意义的名称,那么保持变量的顺序是完全的(即使使用intellisense或其他任何名称)仍然很难。如果它们在数组中,则用户需要查阅文档以查看哪个值应该在哪个索引中。
答案 1 :(得分:0)
没有。您不能限制传递给函数的数组的长度。
如果您的目标是将检查代码保留在方法之外,以便更清晰,那么您可以将实际工作委托给另一种方法。
如果您关注的是参数列表的长度,则可以传递参数对象。
答案 2 :(得分:0)
你可以创建一个类,它是一个限制为5个双倍的Vector的特化,但它似乎有点矫枉过正。如果数组中的条目太少或太多,我会抛出异常 - 这可能是编程问题而不是运行时异常。
答案 3 :(得分:0)
您可以将代码放在try-catch
块中。这提供了错过不必要的检查。
但如果出现问题,你可以避免出现异常问题。