为社么不能这样用toArray():
Set s1 = new HashSet();
s1.add("a");
s1.add("b");
s1.add("c");
String[] s = s1.toArray();  如果想把s1以数组形式给s,应怎么写?

解决方案 »

  1.   

    Set s1=new HashSet();
    s1.add("aa");
    s1.add("bb");
    s1.add("cc");
    Object[] s=s1.toArray();
    转化成的数组时Object类型的。这样就对了,以后利用数组元素时再进行强制转化就可以了。
      

  2.   

    Set<String> s1 = new HashSet<String>(); 
    s1.add("a"); 
    s1.add("b"); 
    s1.add("c"); 
    String[] s = s1.toArray(new String[0]);   
      

  3.   


    public static void main(String[] args) {
    String[] str = {"a", "b", "c", "b"};
    Set<String> set = new HashSet<String>();
    set.addAll(Arrays.asList(str));
    String[] result = set.toArray(new String[0]);
    for(String str2: result){
    System.out.println(str2);
    }
    }
      

  4.   

    Object[] s=s1.toArray(); 
    or
    String[] s = s1.toArray(new String[0]);   学习啦。。
      

  5.   

    String[] s = s1.toArray(new String[0]);   
    支持!
      

  6.   

    把s1以数组形式给s,使用Iterator将set里的值遍历。
    Set s1 = new HashSet(); 
    s1.add("a"); 
    s1.add("b"); 
    s1.add("c"); 
    Iterator iter=s1.iterator();
    while(iter.hasNext()){
    System.out.println(iter.next());
    }
      

  7.   

    如果你的set集合不加泛型,那么会默认你添加的对象是任意类型,这样你转换成String[]的时候就有问题了,因为不保证你的元素都是String类型,所以你的HashSet应该添加泛型,保证都是String就没有问题了