我有一个方法,需要5个双精度值,并与他们一起执行一个操作。现在参数列表是五个不同的双打。有没有办法将double[]
作为参数传递给该方法,但要确保其长度恰好为5?Java:将预定长度的数组设置为方法参数?
一种方法是这样的:
private void myMethod(double[] args) {
if (args.length == 5) {
// do something
}
}
,但有没有更好的办法?
我有一个方法,需要5个双精度值,并与他们一起执行一个操作。现在参数列表是五个不同的双打。有没有办法将double[]
作为参数传递给该方法,但要确保其长度恰好为5?Java:将预定长度的数组设置为方法参数?
一种方法是这样的:
private void myMethod(double[] args) {
if (args.length == 5) {
// do something
}
}
,但有没有更好的办法?
如果你知道你需要5个双打,那么我认为你最好要求5个不同的双打。让他们用有意义的名字列出来,它仍然会很难(即使在intellisense或任何它被称为的),以保持变量的顺序。如果它们在数组中,那么用户需要查阅文档以查看哪个值应该在哪个索引中进行。
不能。您不能限制传递给函数的数组长度。
如果您的目标是保持检查代码不在方法中,因此它更干净,您可以将实际工作委派给其他方法。
如果你关心的是参数列表的长度,你可以传递一个参数对象。
你可以创建一个类,它是Vector的一个专门化限于5双打,但它似乎是矫枉过正。如果数组中的条目太少或太多,我只会引发异常 - 这可能是编程问题,而不是运行时异常。
你可以把你的代码放在try-catch
块中。这提供了错过不必要的检查。 但是,如果出现问题,你可以避免异常问题。