这个让我适应了一个多小时...我发誓代码是对的。我错过了什么吗?
if((fType != "EXACT") && (dateTime > System.currentTimeMillis())){
myIntent = new Intent(getBaseContext(), MyScheduledReceiver1.class);
} else {
myIntent = new Intent(getBaseContext(),MyScheduledReceiver2.class);
}
即使String
fType
是“完全”&将来long
dateTime
...它仍在调用MyScheduledReceiver1.class ...当1为false时,它应该调用MyScheduledReceiver2.class。
答案 0 :(得分:12)
问题可能是您正在比较字符串引用,而不是比较字符串 中的值
if (!fType.equals("EXACT") && dateTime > System.currentTimeMillis()) {
...
}
现在将调用字符串上的equals
方法,该方法将比较两个字符序列是否相等,而不仅仅是fType
和"EXACT"
是否完全相同{ {1}}对象。
(如果String
为空,则会抛出异常;如果您希望它不匹配,则可以使用fType
- 这取决于具体情况。)