2

当然,这不是一对一的代码正确的,但我的问题的要点可以从中收集到。为什么我的 if 语句的结果总是正确的?我猜它与首选项文件的文件编码有关?我尝试将 .toString() 添加到两者的末尾。我已经倾倒了一个 Toast 以查看返回的是“2.4”和“2.4”。

if (appPrefs.getAppVer() != getAppVerName()) {
   //TODO display Changes Pop-up
}

public String getAppVer() {
   return appSharedPrefs.getString("appVer", "");
}

public String getAppVerName() {
   return getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
}
4

2 回答 2

3

因为您需要使用.equals而不是!=用于字符串比较。

于 2011-02-28T00:56:32.680 回答
1

始终将字符串与string1.equals(string2)

于 2011-02-28T00:56:43.133 回答