这个IF ... AND声明出了什么问题?

时间:2015-02-18 19:21:15

标签: android if-statement

我在Android方法中有以下代码。当我调试代码时,callType的值为“upload_latest”,并且uploaded_date(定义为long)的值为1424286105554,但代码执行会绕过“return false”语句并直接转到它下面的字符串声明。我知道我错过了一些显而易见的东西,却无法解决它的问题 - 任何人都可以帮忙吗?

if (callType == "upload_latest" && uploaded_date > 0) {
    return false;
}
String extension = "";

4 个答案:

答案 0 :(得分:1)

如果callType的类型为String(或任何其他非基本类型),则需要使用.equals()方法而不是==运算符。有关详细信息,请参阅this question

答案 1 :(得分:0)

要比较String值,请使用.equals==测试参考相等。

callType.equals("upload_latest")

答案 2 :(得分:0)

尝试这样的事情:

if ((callType.equals("upload_latest"))&& (uploaded_date > 0))) {
    return false;
}
String extension = "";

答案 3 :(得分:0)

使用callType.equals("upload_latest")代替callType == "upload_latest"

==运算符检查字符串是否与.equals()检查它们是否代表相同字符序列的实例相同。

相关问题