Привет, у меня есть следующий метод:
protected boolean shouldCheckLimit() {
if (startDate == null || endDate == null) {
return true;
}
final Long currentTime = System.currentTimeMillis();
if (startDate <= currentTime && currentTime < endDate) {
return true;
}
return false;
}
Проблема в том, что findBugs обнаружил следующую проблему:
Possible null pointer dereference of TimeIntervalLimit.startDate in com.bet.blues.limit.TimeIntervalLimit.shouldCheckLimit() [Scary(8), Normal
Я должен упомянуть, что startDate и endDate являются переменными типа Long. Я пытался добавить проверки на null внутри условия if, также я пытался использовать метод longValue(), но безрезультатно. У вас есть идеи, как я могу решить эту проблему? Может быть ошибка на стороне fndBugs?
startDate
иendDate
в качестве параметров?shouldCheckLimit(long startDate, long endDate){}
- person Uma Kanth   schedule 07.07.2015select
не т сломан. Мне трудно поверить, что вы получаете эту ошибку с кодом выше, возможно, вы получили ошибку с более ранней версией кода? - person T.J. Crowder   schedule 07.07.2015startDate
иendDate
являются глобальными переменными. Что-нибудь может случиться с ними (включая получение nullify) при получении currentTime? Попробуйте предложение @UmaKanth и посмотрите, исправит ли оно это. - person Rosdi Kasim   schedule 07.07.2015