我是这样写的:
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
int[] in =(int[])s.toArray();//这一步出错,我不知道为什么,怎么解决?
System.out.println(in.toString());
Object[] in =s.toArray();
è¿és.toArray();è¿åçæ¯Object æ°ç»ï¼
object æ¯ææç±»åçç¶ç±»ï¼åªå¯ä»¥int强转objectï¼
ä½æ¯ä¸è½å°object强转int
æ以æ¥éï¼ä¸é¢æ¯ä¿®æ¹åçç¨åºï¼
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] in =s.toArray();
for (int i = 0; i < in.length; i++) {
System.out.print(in[i].toString()+",");
}
è¿és.toArray();è¿åçæ¯Object æ°ç»ï¼
object æ¯ææç±»åçç¶ç±»ï¼åªå¯ä»¥int强转objectï¼
ä½æ¯ä¸è½å°object强转int
æ以æ¥éï¼ä¸é¢æ¯ä¿®æ¹åçç¨åºï¼
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] in =s.toArray();
for (int i = 0; i < in.length; i++) {
System.out.print(in[i].toString()+",");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-09-19
遍历Set的方法你好像不懂吧?
出错的地方后面改成这样....
Iterator it = s.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
出错的地方后面改成这样....
Iterator it = s.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
第2个回答 2012-09-19
s.toArray()返回的是Object[]数组,所以如果改成Integer[] in =(Integer[]) s.toArray();int 标示的基本数据类型,所以应该用他的包装类Integer.可以多参考api文档来学习
第3个回答 2012-09-19
从一个对象数组怎么能强制转为int数组呢。直接用Object[]接收就好了。本身int就是Object。不会打印成别的。
public class JavaRandom
{
public static void main(String args[]) {
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] object=s.toArray();//这一步出错,我不知道为什么,怎么解决?
for (int i = 0; i < object.length; i++) {
System.out.println(object[i]);
}
}
}
public class JavaRandom
{
public static void main(String args[]) {
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] object=s.toArray();//这一步出错,我不知道为什么,怎么解决?
for (int i = 0; i < object.length; i++) {
System.out.println(object[i]);
}
}
}
第4个回答 2012-09-19
用你的程序,
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
for(Object i:s.toArray())
{
System.out.println(i);
}
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
for(Object i:s.toArray())
{
System.out.println(i);
}
第5个回答 2012-09-19
HashSet 强转 int数组??这么强悍的写法。。怎么不会报错。。int不是对象类型,,Integer 才是