从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
我误会了什么?
该代码工作正常。
更换:
System.out.println(array);
带有:
System.out.println(Arrays.toString(array));
输出:
[b,c,a] [b,c,a]
String数组的表示形式显示该数组的“文本表示形式”,Object.toString它是通过- 表示的,即类的名称和作为十六进制字符串的数组的哈希码。
String
Object.toString