看return 也迷糊了

oldabc 2007-10-25 12:21:42
public List getUserManage(String postid) throws DAOException {
try{
JdbcTemplate jt = new JdbcTemplate(WebApp.getDataSource());
String sql="select * from ? ";
List ls=jt.queryForList(sql);
List aalist=new ArrayList();
String a;
String b;
for(int i=0;i<ls.size();i++)
{
Map mp=(Map)ls.get(i);
userid=mp.get("a").toString();
username=mp.get("b").toString();
aalist.add(new LabelValueBean(a,b));
}
return aalist;。。。。。。。。。。。。1
}catch (Exception e) {
e.printStackTrace();
}
return null;。。。。。。。。。。。。。。2
方法定义得到方法返回值,1这个是return是方法的返回值吗?如果是 返回哪个方法?
第2个return又是哪个方法的返回值,好困惑。。。是不是我理解上有问题。高手指定下。好丢人。return都迷糊。
}
...全文
149 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
justin0755 2007-10-25
  • 打赏
  • 举报
回复
public List getUserManage(String postid) throws DAOException

1、从这个方法签名可以看出,这个方法必须有返回值,要么返回List类型的对象,要么返回NULL(空对象),而且正常和异常的情况都要考虑到,不返回的话,编译就通不过。
2、“返回哪个方法?”自然是返回给调用这个方法的调用者!
oldabc 2007-10-25
  • 打赏
  • 举报
回复
2是返回getuserMAnage这个方法的话。返回一个NULL 有什么意义吗 如果什么不返回是什么样的? 1是返回哪个方法啊?
oldabc 2007-10-25
  • 打赏
  • 举报
回复
不能接帖子 我晕了.. 总给我自己50分 还修改不了 管理员干什么的?????
ruanluping 2007-10-25
  • 打赏
  • 举报
回复
java技术讨论区
QQ群:49150201
ruanluping 2007-10-25
  • 打赏
  • 举报
回复
java技术讨论区
QQ群:49150201
ruanluping 2007-10-25
  • 打赏
  • 举报
回复
java技术讨论区
QQ群:49150201
Javaphua 2007-10-25
  • 打赏
  • 举报
回复
如果程序未抛出异常,程序必定在第一个return处结果,将结果返回给方法;如果抛出异常,最好写finally,在finally里面用return返回给方法一个值,这也就是第二个return的意义。因为方法必须有返回值。
oldabc 2007-10-25
  • 打赏
  • 举报
回复
谢谢大家了
wjn811 2007-10-25
  • 打赏
  • 举报
回复
float a(float x){
float z=x*1000;
return z; //return要放在里面}

你调用a()后,a()就返回给你一个值,你就可以拿来用了
你说return后,“a()这个方法就是一个值”,欠妥

至于楼主提的第一个问题
每个方法必须得有一个return语句 //void时return; 空,可以不写
所以你得确保在正常情况的调用下,必须有一个return语句执行

1,2return语句执行后的返回值都是getUserManage(String postid)的返回值

由于语句可能产生异常,所以第1个return可能不执行,所以要写第2个return //返回NULL,说明有异常产生

如果1return语句执行后,该方法就结束了,2return就不执行了,
oldabc 2007-10-25
  • 打赏
  • 举报
回复
可能我return理解的还不够好~~~
如果我这个写 float x=4.0; request.setAxx(ABC,a(x))
float a(float x){
float z=x*1000;
}
return z;
a(float x)这个方法在你传入参数为4的时候返回值是4000.
次方法产生了一个值,这个值就要放到return后面.宏观来说 是不是在request.setAxx(ABC,a(x))中 a(x)的值就是4000了 
jaguarlsl 2007-10-25
  • 打赏
  • 举报
回复
可以说a(float x)这个方法在你传入参数为4的时候返回值是4000,而不是你说的"如果return 完以后,是不是就是a()这个方法就是一个值了 比如是 4000"
oldabc 2007-10-25
  • 打赏
  • 举报
回复
在冒昧的 问一下基础理解 。RETURN语句 作用是吧一个 确定的值返回给调用它的语句。return 后面表达式也就是该方法的值返回给调用他的语句。
比如 float a(float x){
float z=x*1000;
}
return z;
然后request.setAxx(ABC,a(4)) 我想问一下 如果return 完以后,是不是就是a()这个方法就是一个值了 比如是 4000。 是这个意思吗
diyj428 2007-10-25
  • 打赏
  • 举报
回复
你这个方法必须要有个返回值,你1处的return表示你程序没出错的情况,但当出现异常的时候就不会运行1,而进入catch然后再运行2的return,所以你这个代码用拉2个return,你可以把finally加进来,在finally里面return ,这样就可以只写一个啦!!
oldabc 2007-10-25
  • 打赏
  • 举报
回复
我指的是1.return 和 2.return.
oldabc 2007-10-25
  • 打赏
  • 举报
回复
你的意思是 1 。。 返回的LIST类型对象。
2 。。 返回的异常情况的 ??

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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