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。
展开
 我来答
匿名用户
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);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式