搜尋

首頁  >  問答  >  主體

java - HashSet<int> 为何有错误?

代码里用了HashSet<int>
结果出错,说

 Syntax error, insert "Dimensions" to complete ReferenceType
 

改成HashSet<Integer>才OK
为何?

怪我咯怪我咯2802 天前811

全部回覆(4)我來回復

  • PHP中文网

    PHP中文网2017-04-18 10:52:54

    泛型裡面的型別參數必須是 Object 的子類,因此不能使用 int,而應該使用 int 的包裝器型別 Integer。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:52:54

    int是基本資料資料型,所以不行;應該使用其對應包裝類,Interger

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-18 10:52:54

    簡單來說,因為int是基本型,不包含集合框架中所需的方法。以這裡為例,連hashCode都沒有實現,如何計算雜湊值?所以需要用Integer。

    泛型裡的型別都必須為Object的子類別。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:52:54

    int是資料型,Integer才是包裝類咯。泛型裡面應該放的是物件類型

    回覆
    0
  • 取消回覆