0
我在下面的代碼不兼容的邊界錯誤:不兼容的邊界錯誤:Java的泛型謂詞
Predicate<Integer> pred;
Iterator<Integer> daysToRunIter = Iterators.cycle(daysToRunInt);
if(nowHourOfDay >= schedule.getHourOfDay()){
pred = val -> val > currDayOfWeek;
} else {
pred = val -> val == currDayOfWeek;
}
Iterator<Integer> subset = Iterators.find(daysToRunIter,pred); //ERROR
的錯誤,我得到:
它看起來像我提供兼容型Integer
,爲什麼我得到這個錯誤,我該如何解決它?
正如文檔所述,'find'從'Iterator'(_「返回滿足給定謂詞的迭代器中的第一個元素」)返回一個類型爲「T」的元素。所以'subset'應該是一個Integer'我猜... –
你確定這個元素存在嗎?嘗試在find方法調用中添加一個默認值作爲第三個參數。類似於Iterators.find(daysToRunIter,pred,1);' –
@AlexisC。謝謝,這確實解決了它!我會把這個作爲答案,並給你信任。 – atoregozh