第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 compareTo 用于泛型。(<E>, <整數(shù)>...)

如何將 compareTo 用于泛型。(<E>, <整數(shù)>...)

慕妹3146593 2021-12-10 16:46:14
我需要在教授提供的程序中使用 compareTo()。但該程序包括泛型。該功能存在問題。所以我的問題是我該如何實現(xiàn)它。if(node1.getElement().compareTo(node2.getElement()) < 0)我需要一些解釋java.util.Iterator; 因為我需要iteration()在主類中使用。我是 Java 新手??梢宰杂傻叵蛐率纸忉屗?。Tnx 伙計們這是整體代碼:D https://pastebin.com/mA9igb1t
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經(jīng)驗 獲得超6個贊

首先:在您的main方法中,您不能使用泛型EInteger在您的情況下,您必須使用正確的類型。

比較器問題有兩種解決方案:

  1. 如果您確定E將始終是原始類型(如 Byte、Short、Integer、Long、Float 或 Double)的包裝器,您可以聲明 SLL,
    class SLL<E extends Number & Comparable> implements Iterable<E>
    這樣您if就可以工作了。
    SLL不必實現(xiàn)Comparable.

  2. 否則,你可以使用的BigDecimalif
    BigDecimal node1Value = new BigDecimal(node1.getElement().toString());
    BigDecimal node2Value = new BigDecimal(node2.getElement().toString()); if(node1Value.compareTo(node2Value) < 0)

關(guān)于迭代器的問題,因為你必須調(diào)用.iterator()你的SLL對象,這個類必須工具可迭代。
您可以在The Java Tutorials - The Collection Interface上閱讀有關(guān)迭代器的信息。
我還建議看一下LinkedList 的源代碼


查看完整回答
反對 回復(fù) 2021-12-10
  • 1 回答
  • 0 關(guān)注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號