我在Android方法中有以下代码。当我调试代码时,callType的值为“upload_latest”,并且uploaded_date(定义为long)的值为1424286105554,但代码执行会绕过“return false”语句并直接转到它下面的字符串声明。我知道我错过了一些显而易见的东西,却无法解决它的问题 - 任何人都可以帮忙吗?
if (callType == "upload_latest" && uploaded_date > 0) {
return false;
}
String extension = "";
答案 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()检查它们是否代表相同字符序列的实例相同。