一尘不染

Java:将集合转换为字符串表示形式的数组

java

从Sun的Java教程中,我本以为这段代码会将一个集合转换成一个数组。

import java.util.*;

public class Blagh {
    public static void main(String[] args) {
        Set<String> set = new HashSet<String>();
        set.add("a");
        set.add("b");
        set.add("c");
        String[] array = set.toArray(new String[0]);
        System.out.println(set);
        System.out.println(array);
    }
}

但是,这给

[a, c, b]
[Ljava.lang.String;@9b49e6

我误会了什么?


阅读 343

收藏
2020-12-03

共1个答案

一尘不染

该代码工作正常。

更换:

System.out.println(array);

带有:

System.out.println(Arrays.toString(array));

输出:

[b,c,a]
[b,c,a]

String数组的表示形式显示该数组的“文本表示形式”,Object.toString它是通过-
表示的,即类的名称和作为十六进制字符串的数组的哈希码。

2020-12-03