我試圖創建DefaultListModel
(類型String
)的擴展版本,它接受我創建的類的對象,稱爲LogItem
和'自動'使用該信息來推斷應該使用哪些數據來填充相關元素。從Java中的匿名通用類調用重載方法
在我的代碼,它看起來是這樣的:
public static DefaultListModel<String> log = new DefaultListModel<String>(){
public void addElement(LogItem logItem){
super.addElement("[" + logItem.getTimestamp() + "] " + logItem.getEvent());
}
};
後來在類:
log.addElement(new LogItem(event));
然而,這些代碼兩個部分,後者給出了一個編譯時錯誤:
Error:(196, 32) java: incompatible types: com.example.LogItem cannot be converted to java.lang.String
因此,看起來好像我出於某種原因無法訪問我在匿名類中創建的重載方法( addElement(LogItem logitem){...}
)。
我想我必須錯過一些東西,爲什麼我不能使用重載類?
看起來像選項1是要走的路,因爲你似乎無法改變'log'的聲明類型 – rptmat57
謝謝!我使用了第三個選項。我真的很想添加_one_重載的方法,並且您的解決方案能夠工作!乾杯! –