繁体   English   中英

比较现有字符串与Environment.getExternalStorageDirectory()。getPath()的问题

[英]Issue with comparing existing string to Environment.getExternalStorageDirectory().getPath()

我目前正在编写使用文件夹导航的android应用程序。 我让用户开始

String rootPath = Environment.getExternalStorageDirectory().getPath()

还有一个currentPath字符串,用于跟踪用户当前所在的目录。

用户可以在子文件夹中正常浏览,然后导航回到根文件夹。

但是,该程序似乎继续尝试在初始rootPath字符串下面导航,这意味着我的if(currentPath != rootPath) { if语句似乎根本无法正常工作。 我该如何解决?

我之所以现在可以运行该程序,仅是因为在此if语句之后,我有一个try catch块用于代码,该语句未正确触发。

另外,我设置了Logcat消息以显示当前目录,并且该目录与程序初始化时的目录明显相同,那么为什么它不等于程序初始化时创建的rootPath字符串?

不要使用

if(currentPath != rootPath) {

比较字符串。

您必须使用equals:

if( ! currentPath.equals(rootPath)) {

!=运算符比较字符串对象的地址。 equals方法比较字符串的内容...

参见https://www.leepoint.net/data/expressions/22compareobjects.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM