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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昨天看视频 问题不是这个函数 而是return 是不是当需要返回值的时候写 ,不需要的时候不用写?

  1. public static ArrayList singleElement(ArrayList al)
  2.         {
  3.                 //定义一个临时容器。
  4.                 ArrayList newAl = new ArrayList();
  5.                
  6.                 Iterator it = al.iterator();
  7.                
  8.                 while(it.hasNext())
  9.                 {
  10.                         Object        obj = it.next();
  11.                         if(!newAl.contains(obj))
  12.                                 newAl.add(obj);
  13.                        
  14.                 }
  15.                 return newAl;
  16.         }
复制代码



评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

9 个回复

倒序浏览
不是,是根据函数声明,如果函数声明了void类型返回值就不需要写return,如果函数声明了void类型外的任意返回值类型都要明确的写上return

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
yanzhendong 发表于 2014-3-25 10:49
不是,是根据函数声明,如果函数声明了void类型返回值就不需要写return,如果函数声明了void类型外的任意返 ...

:handshake   哦  疑惑了好久
回复 使用道具 举报
楼上说的很明确了
回复 使用道具 举报
当你函数有返回值时,你定义的什么返回类型,return后面就要跟什么类型的返回值。
函数没有返回值时,就不要return 返回值类型用void。
你函数定义的是ArrayList类型的返回值,所以return后面的就是ArrayList类型的返回值

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
不是。是根据函数声明。当你在函数声明中加上int,lang等关键字的时候如
public static int show()
pubic static lang show()
想这两种形式的方法就必须写return
如public static void show();
声明函数的地方加上void就不需要写return。但是也只限于有void的声明时,不需要return。如果换成别的声明则必须加上return。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
osully 金牌黑马 2014-3-25 13:36:46
7#
任何一般函数中都存在return语句
只不过 void 无返回值类型 可以省略, 会存在隐式语句(return ;)
回复 使用道具 举报
你的返回值类型不是已经标识出来是arraylist类型么 自然要返回这种类型的
回复 使用道具 举报
return 是你在子函数声明是声明为int double boolean float等类型时,必须返回一个值。。void也可以返回,可以这样写return;大概就这样。。
回复 使用道具 举报
只要是函数就要写return语句,构造函数也有return语句、主函数也要renturn语句。你不写,编译器会帮你加上的。return语句的作用一方面是用来结束函数,一方面是用来返回值。如果函数声明了具体类型的返回值,如果你不写编译器不知道要帮你返回什么值,所以要你指定,如果写编译会失败的。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

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