Android 程序有返回值且返回值不为空 为什么不执行return返回值 而执行return null
publicstaticList<String>getString(Stringpath){Filefile=newFile(path);if(file.exists()...
public static List<String> getString(String path) {
File file = new File(path);
if (file.exists()&&file.isFile()) {
try {
InputStream inputstream = new FileInputStream(file);
if (inputstream != null) {
InputStreamReader inputstreamreader = new InputStreamReader(inputstream, "UTF-8");
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
String line;
while ((line = bufferedreader.readLine()) != null) {
lath.add(line);
}
inputstream.close();
inputstreamreader.close();
bufferedreader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return lath;
}else{
return null;
}
}
在异步线程中调用此方法,lath有值,为什么执行return null而不执行return lath。 展开
File file = new File(path);
if (file.exists()&&file.isFile()) {
try {
InputStream inputstream = new FileInputStream(file);
if (inputstream != null) {
InputStreamReader inputstreamreader = new InputStreamReader(inputstream, "UTF-8");
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
String line;
while ((line = bufferedreader.readLine()) != null) {
lath.add(line);
}
inputstream.close();
inputstreamreader.close();
bufferedreader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return lath;
}else{
return null;
}
}
在异步线程中调用此方法,lath有值,为什么执行return null而不执行return lath。 展开
1个回答
2017-06-15
展开全部
if...else分支结构啊,肯定是条件不满足才执行了else分支返回null的,跟lath有没有值没有关系。
更多追问追答
追问
if...else分支结构满足
追答
这个条件file.exists()&&file.isFile()不满足。file不存在或者不是文件类型才会执行到return null的。试试在下面加2行输出代码,看看file具体值和类型:
File file = new File(path);
System.out.println(F instanceof File);
System.out.println(F);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询