我创建了一个集和随机数(类型为int),我要添加到我的一套:如何将int值添加到设置<Integer>(HashSet <Integer>)?
private Set<Integer> mySet = new HashSet<Integer>(numElements); // capacity of 'numElements'
Random r = new Random();
int rand = r.nextInt(maxVal - minVal + 1) + minVal;
mySet.add(rand); // error: cannot convert int to Integer
,所以我尝试了这些:
1. mySet.add(rand); // error: no suitable method found for add(int)
2. mySet.add(Integer.valueOf(rand)); //error: cannot find symbol method valueOf(int)
3. mySet.add(new Integer(rand)); // error: type parameter Integer cannot be instantiated directly
他们都没有工作,所以我怎样才能将“rand”添加到我的设置中?
你应该张贴在*完整*代码。显然,在你的作用域中有一个名为'Integer'的类型,它与'java.lang.Integer'不同。根据最后一条错误消息,它是一个类型参数,在方法或包含代码的类中声明。 – Holger
可能重复[Autoboxing工作不正常](http://stackoverflow.com/questions/38464664/autoboxing-isnt-working-properly) – Tom