java中的不可访问语句返回

java中的不可访问语句返回,java,android,list,Java,Android,List,我有一个返回列表的方法,但当我运行代码时,出现了无法访问的语句 此方法来自一个aidl文件,并使用返回生成一个映射 代码如下: List<String> list = new ArrayList<String>(); Public List<String> setMethod(Map map) { ContentValues cv = null; Iterator i = map.keySet().iterator(); Iterat

我有一个返回列表的方法,但当我运行代码时,出现了无法访问的语句 此方法来自一个aidl文件,并使用返回生成一个映射

代码如下:

List<String> list = new ArrayList<String>();

Public List<String> setMethod(Map map) {
    ContentValues cv = null;
    Iterator i = map.keySet().iterator();
    Iterator j = map.values().iterator();

    if(map.isEmpty() || map == null) {
        return null;
    } else {
        try {
            while(i.hasNext()) {
                String str = (String) i.next();
                Long l = (Long) j.next();
                list.add(str);
                cv.put(Storage.STR, str);
                if(Provider.insert(Storage.Table, cv) < 0) {
                   return null;
                }
            }
            if(list.isEmpty() || list == null) {
                return null;
            } else {
                return mPathList;
            }
        } catch (Exception e) {
            return null;
        }
   return list;
}
List List=new ArrayList();
公共列表集合方法(映射){
ContentValues cv=null;
迭代器i=map.keySet().Iterator();
迭代器j=map.values().Iterator();
if(map.isEmpty()| | map==null){
返回null;
}否则{
试一试{
while(i.hasNext()){
String str=(String)i.next();
Long l=(Long)j.next();
添加(str);
cv.put(Storage.STR,STR);
if(Provider.insert(Storage.Table,cv)<0){
返回null;
}
}
if(list.isEmpty()| | list==null){
返回null;
}否则{
返回田径运动员;
}
}捕获(例外e){
返回null;
}
退货清单;
}

任何人都能告诉我我能做些什么吗?

只需看完你的代码。最后一个
return
语句永远不会运行,因为之前的每一个分支都会导致另一个
return
语句。

只需看完你的代码。最后一个
return
语句永远不会运行之前的y其他分支导致另一个
return
语句。

您从
try
块以及
catch
返回,因此将永远不会到达最后一个return语句


您的代码有多个返回路径。如果您的条件满足,您将从第一个
if
语句返回,在
else
部分,您有
try
块。在
try
中,您将根据
if
以及
else
返回,因此如果没有异常发生,您将保证从
try
返回块,在异常情况下,您有一个
catch
语句,并且您也从那里返回。因此,您的代码不可能继续。因此最后一个
return
语句无法访问。

您从
try
块以及
catch
返回,因此最后一个返回语句永远也达不到


您的代码有多个返回路径。如果您的条件满足,您将从第一个
if
语句返回,在
else
部分,您有
try
块。在
try
中,您将根据
if
以及
else
返回,因此如果没有异常发生,您将保证从
try
返回块,在异常情况下,您有一个
catch
语句,并且您也从那里返回。因此,您的代码不可能继续。因此,最后一个
return
语句无法访问。

您可能需要重新表述您的文本,因为我无法理解您的问题是什么以及您的问题是什么是。您可能想重新表述您的文本,因为我无法理解您的问题是什么以及您的问题是什么。Arnold:最后一个
return
语句将不会运行。我不是Arnold。Arnold:最后一个
return
语句将不会运行。我不是Arnold。