java - HashSet<int> 为何有错误?
怪我咯
怪我咯 2017-04-18 10:50:54
0
4
793

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

 Syntax error, insert "Dimensions" to complete ReferenceType
 

改成HashSet<Integer>才OK
为何?

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(4)
洪涛

Les paramètres de type dans les génériques doivent être une sous-classe d'Object, donc int ne peut pas être utilisé, mais le type wrapper Integer de int doit être utilisé.

大家讲道理

int est un type de données de base, donc cela ne fonctionnera pas ; vous devez utiliser sa classe wrapper correspondante, Interger

左手右手慢动作

En termes simples, car int est un type de base et ne contient pas les méthodes requises dans le framework de collection. Prenons ceci comme exemple. Même hashCode n'est pas implémenté. Comment calculer la valeur de hachage ? Vous devez donc utiliser Integer.

Les types dans les génériques doivent être des sous-classes d'Object.

Ty80

int est le type de données et Integer est la classe d'emballage. Ce qu'il faut placer dans les génériques, c'est le type d'objet

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal