java方法中关于return的疑问

michalechuan 2018-01-17 04:54:25
在一个有返回值(数组)的方法里面,我想先判断下实参(数组)是不是未初始化,我判断是用 array == null,如果是null,则退出方法,我直接写了return;可是因为有返回值,return后面必须加数组才行;没有不加数组就可以用return返回的方法吗?
public static String[] reverseArray(String[] arr) {
if(arr == null) {
System.out.println("null");
return; //这里eclipse显示错误
}
//创建一个新的数组,数组长度和旧数组一样长,因为并不知道存放数组,使用动态创建法
String[] newarr = new String[arr.length];
for(int i = arr.length-1;i >= 0;i--) {
newarr[arr.length-1-i] = arr[i];
}
return newarr;
}
代码如上,我想在arr未初始化,即arr=null的时候,终止方法,请问我那里改怎么修改,return后面该加什么?我不想加arr
希望大神解答一下,有点蒙蔽
...全文
454 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxh198841 2018-01-17
  • 打赏
  • 举报
回复
直接return null
有梦想的小白 2018-01-17
  • 打赏
  • 举报
回复
直接return null就可以了。
雪飞梦魂天 2018-01-17
  • 打赏
  • 举报
回复
两种方法,第一种是在进入这个方法之前,判断数组arr是否为空,为空不进入reverseArray方法; 第二种方法
public static String[] reverseArray(String[] arr) {
if(arr == null) {
System.out.println("null");
return arr;        //返回空数组
}
String[] newarr = new String[arr.length]; 
for(int i = arr.length-1;i >= 0;i--) {
newarr[arr.length-1-i] = arr[i];	
}
return newarr;
}
x24214844 2018-01-17
  • 打赏
  • 举报
回复

if(arr==null){
    return null;
}else{
    //你的代码;
    return 正常的返回值;
}
Braska 2018-01-17
  • 打赏
  • 举报
回复
return null;
michalechuan 2018-01-17
  • 打赏
  • 举报
回复
因为之前有return语句可以返回空的,比如 public static void main(String[] args) { int i; for(i = 1;i <=10;i++) { if (i ==4) { return; //结束当前所在的方法 } 我就想直接写return;但是上面那个方法因为有返回值,不能这样写,所以相当郁闷,肿么办

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧