如何将int值添加到Set <integer>(HashSet <integer>)?

时间:2016-11-13 00:51:13

标签: java generics collections integer

我创建了一个集合和一个随机数(int类型),我想添加到我的集合中:

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

他们都不能工作,所以我怎样才能添加&#39; rand&#39;我的套装?

2 个答案:

答案 0 :(得分:1)

您必须创建Integer类型的对象:

Integer intObj = new Integer(i);

i int类型。

所以在你的例子中,它会是这样的:

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(new Integer(rand));

答案 1 :(得分:0)

我成功地找到了一个解决方案来解决您尝试添加的所有集合的问题&#39; int&#39;值。我创建了这个类:

Cannot convert type 'Gecko.GeckoHtmlElement' to 'System.Windows.Forms.HtmlElement'

The name 'isitcaptcha' does not exist in the current context    

The name 'captchaimg' does not exist in the current context 

然后,在我的代码中,我使用了它:

class Number {
    int number;
    Number(int num) { number = num; }
}