这个已经让我适应了一个多小时...我可以发誓代码是对的.我错过了什么吗?
if((fType != "EXACT") && (dateTime > System.currentTimeMillis())){
myIntent = new Intent(getBaseContext(), MyScheduledReceiver1.class);
} else {
myIntent = new Intent(getBaseContext(),MyScheduledReceiver2.class);
}
Run Code Online (Sandbox Code Playgroud)
即使它String fType是"完全" long dateTime并且将来......它仍然在调用MyScheduledReceiver1.class ...当1为假时它应该调用MyScheduledReceiver2.class.
Jon*_*eet 12
这个问题可能是,你比较字符串引用而不是比较值中的字符串:
if (!fType.equals("EXACT") && dateTime > System.currentTimeMillis()) {
...
}
Run Code Online (Sandbox Code Playgroud)
现在将调用equals字符串上的方法,它将比较两个字符序列是否相等,而不仅仅是fType和是否"EXACT"引用完全相同的String对象.
(如果fType为null,则抛出异常;如果您希望它不匹配则可以使用if (!"EXACT".equals(fType) && ...)- 这取决于具体情况.)
| 归档时间: |
|
| 查看次数: |
12444 次 |
| 最近记录: |