黑马程序员技术交流社区
标题: 关于有多个返回值的问题~ [打印本页]
作者: 刘伯阳 时间: 2012-6-5 19:44
标题: 关于有多个返回值的问题~
现在有一代码,我想要有两个返回值,但是return只能返回一个,用两次return肯定是不行的,怎么办?
作者: 編程浪子 时间: 2012-6-5 20:03
第一,使用数组或集合返回,第二也是最好的:你程序设计的就有问题,重新设计。
作者: 闾丘日月 时间: 2012-6-5 20:04
将你想要返回的东西封装成一个对象,返回那个对象
javabean专门干这事。
作者: 李春阳 时间: 2012-6-5 20:06
只能返回一个,虽然java是这样规定的,但是可以变通一下,用Collection:
Collection可以容纳多个对象,将返回值定义为Collection,可以在Collection中包含多个对象,作为返回值,这样就可以返回多个参数了。
作者: 张洁 时间: 2012-6-5 20:15
1.return数组或集合。如果只返回2个参数或已确定个数,则返回数组(同一类型使用类型数组,不同类型使用Object[])。参数个数未知时,使用集合。
例如:
static Vector qest()
{
Vector vec = new Vector();
double sum = 123.12;
String name = "";
vec.add(sum);
vec.add(name);
return vec;
}
用集合的方式进行return
2.组成一个字符串,使用分隔符分隔。接受后截取或分割。
string strVale=
xxx()
{
return a+"&"+b
}
在对这个字符串字符串截取,(&作为截取标记)
3.可以传进去一个对象,然后更改其属性值。执行方法后直接访问对象属性就好了。(个人认为:有时会有用,这样其实可以接收出来多个值,而且,可以共享对象,避免过多new对象。)
作者: 刘伯阳 时间: 2012-6-5 20:46
张洁 发表于 2012-6-5 20:15
1.return数组或集合。如果只返回2个参数或已确定个数,则返回数组(同一类型使用类型数组,不同类型使用Obj ...
哦 晓得了~谢谢啊 我研究研究
作者: 伊文龙 时间: 2012-6-5 21:07
这个问题很纠结~~你要是有两个返回值~你打算怎么样接收返回值呢~~~
作者: 曹操 时间: 2012-6-5 21:36
将这个两个值封装到一个结构体或类中.可以使用数组 ArrayList
至少有好几种办法:
1. result1 function(ref result2);
2. result1 function(out result2);
3. void function (ref result1,ref result2);
4. void function(ref result1, out result2);
5. void function(out result1,ref result2);
6 void function(out result1,out result2);
其中ref可以用于传值到函数内部,out仅用于传出。
作者: 曹操 时间: 2012-6-5 21:36
将这个两个值封装到一个结构体或类中.可以使用数组 ArrayList
至少有好几种办法:
1. result1 function(ref result2);
2. result1 function(out result2);
3. void function (ref result1,ref result2);
4. void function(ref result1, out result2);
5. void function(out result1,ref result2);
6 void function(out result1,out result2);
其中ref可以用于传值到函数内部,out仅用于传出。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |