1
我有下面的代碼,它完美的編譯與maven,但Intellij不斷給我錯誤說Inconvertible types can not cast 'K' to java.lang.Long
。Java泛型 - 不能投K到長
public class BPlusTree<K extends Comparable<K>, T> {
public void debug(K time) {
Long l = (Long) time;
}
}
當我從類定義中移除extends Comparable<K>
部分的IntelliJ停止給這個錯誤。這裏發生了什麼?我知道這個鑄造可以拋出一個運行時間ClassCastException
但爲什麼編譯錯誤?
當你寫什麼你實際上意味着'K延伸可比'? –
可能不是編譯錯誤。 IntelliJ可能只是讓您知道您的代碼已損壞。爲什麼錯誤消失時,你刪除約束,我不知道。 – Carcigenicate
@ Mike'Pomax'Kamermans我想確保我的'K'具有可比性(它提供了compareTo方法)? – Nullpointer