请问关于 返回 return的问题

gdutqiang 发布于 2016/10/21 17:43
阅读 137
收藏 0
请问 关于以下的代码中   假设 parseEntity2(localJSONArray2) 返回的是 List<Data.ItemEntity>类型的数据。
如果 没有 在最后一行代码 添加return null 的话, 就会错误提示:
This method must return a result of type List<Data.ItemEntity>

但是 在try里边已经 有  return parseEntity2(localJSONArray2); 的啦,

请问  在代码的最后一行  写   return null;这样 会不会出现什么问题呢?还是应该怎么处理呢?

麻烦知道的朋友帮忙回复,谢谢啦

 public List<Data.ItemEntity> doParseJSONObject(JSONObject paramAnonymousJSONObject)
            {
                try
                {
                 JSONArray localJSONArray2 = paramAnonymousJSONObject.getJSONArray("data");
                 return parseEntity2(localJSONArray2);
                }
                catch (JSONException localJSONException)
                {
                 localJSONException.printStackTrace();
                }
               // return null;
         }
加载中
0
ksfzhaohui
ksfzhaohui
你可以不抓住异常直接抛出就行了
0
气质舞王尼古拉斯赵四
气质舞王尼古拉斯赵四

没有最后那个return null;的话,catch语句块里面没有返回值所以会报错,就是说有返回值的函数必须在每个分支都有返回值

0
黛曦葛溪
黛曦葛溪

二楼说的没错,之所以让你最后一行添加return 就是因为如果try 的执行模块异常了,就不会执行return,会往下走,但是你的下面没有return 肯定就会报错。你在case 里加return 也同样就不会报错。像下面这样写也可以,当然你在调用这个方法的地方肯定要添加返回空值的判断了,然后对其处理。java 基础不是很好,建议去看看return 方法的基础。


public List<Data.ItemEntity> doParseJSONObject(JSONObject paramAnonymousJSONObject)
            {
            JSONArray localJSONArray2 = "";
                try
                {
                 localJSONArray2 = paramAnonymousJSONObject.getJSONArray("data");
                }
                catch (JSONException localJSONException)
                {
                 localJSONException.printStackTrace();
                }
               return parseEntity2(localJSONArray2);
         }



返回顶部
顶部