我有时(实际上,经常)发现自己使用单元素数组从一个方法返回多个值。像这样:
public static int foo(int param1, int param2[], String param3[])
{
// method body
....
// set return values
param2[0] = <some value>;
param3[0] = <some value>;
return <some value>;
}
这是一种不好的做法吗? (好像是因为有小伙伴说2秒都不知道在干什么!)
但我首先使用它的原因是因为它看起来最接近 C++ 中的 pass-by-reference
。在 C++
中并没有阻止这种做法,所以 ...
但如果这确实是一种错误的做事方式,你知道如何以干净的方式重写它吗?
谢谢
最佳答案
创建一个包含您要返回的数据的对象。
然后您可以返回该对象的一个实例。
class FooData {
private int someInt;
private int anotherInt;
private String someString;
public FooData(int a, int b, String c) {
someInt = a;
anotherInt = b;
someString = c;
}
}
public FooData foo() {
// do stuff
FooData fd = new FooData(blah, blahh, blahhh);
return fd;
}
关于java - 使用数组作为参数返回多个值是一种不好的做法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820115/