A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘伯阳 中级黑马   /  2012-6-5 19:44  /  2363 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

现在有一代码,我想要有两个返回值,但是return只能返回一个,用两次return肯定是不行的,怎么办?

8 个回复

倒序浏览
第一,使用数组或集合返回,第二也是最好的:你程序设计的就有问题,重新设计。
回复 使用道具 举报
将你想要返回的东西封装成一个对象,返回那个对象
javabean专门干这事。
回复 使用道具 举报
只能返回一个,虽然java是这样规定的,但是可以变通一下,用Collection
Collection可以容纳多个对象,将返回值定义为Collection,可以在Collection中包含多个对象,作为返回值,这样就可以返回多个参数了。

回复 使用道具 举报
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对象。)

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

回复 使用道具 举报
张洁 发表于 2012-6-5 20:15
1.return数组或集合。如果只返回2个参数或已确定个数,则返回数组(同一类型使用类型数组,不同类型使用Obj ...

哦  晓得了~谢谢啊  我研究研究
回复 使用道具 举报
这个问题很纠结~~你要是有两个返回值~你打算怎么样接收返回值呢~~~
回复 使用道具 举报
曹操 黑马帝 2012-6-5 21:36:20
8#
将这个两个值封装到一个结构体或类中.可以使用数组 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:25
9#
将这个两个值封装到一个结构体或类中.可以使用数组 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仅用于传出。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马