![](/img/trans.png)
[英]To Environment.getExternalStorageDirectory() or not to?
[英]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.