一个关于Set的问题!
我的目的是向HashSet中填充数据,然后再将它打印出来。但是编译过程中老是说我进行了不安全的操作,详细信息请用-Xlint:unchecked重新编译   
 这到底是怎么回事呢?请高人给解释一下 
 import   java.util.*; 
 class   Test 
 { 
 	static   Set   fill(Set   s,   int   size) 
 	{ 
 		for(int   i=1;i <=size;i++) 
 		{ 
 			s.add(new   Integer(i)); 
 		} 
 		return   s; 
 	} 
 	static   void   test(Set   s) 
 	{ 
 		fill(s,5); 
 		System.out.println(a); 
 	} 
 	   public   static   void   main(String   args[]) 
 	{ 
 		test(new   HashSet()); 
 	}      
 } 
------解决方案--------------------你用的是jdk50以上的版本吧~ 
 Set s 改成 Set <Integer>  s 
 test(new HashSet <Integer> ())改成 
 就可以了
------解决方案--------------------泛型Set <String>  s=new HashSet <String> ();
------解决方案--------------------System.out.println(a); 
 楼主,这句能编译通过?a都没定义过
------解决方案--------------------偶给lz解释吧,这个是要求你 “标明” 你要向集合里面放 哪一种类型 的数据,因为集合里可以存放任何object类型。 
 我想强制你“标明”数据类型的的好处是让你清楚你在做什么,增强了你程序的可读性。 
 而且这样作的话,数据取出来就不需要强制转换了   
 偶菜菜,说的很肤浅,期待高人给深入讲解下