【发布时间】:2015-06-30 01:10:45
【问题描述】:
我希望将 char 的数组转换为字符的 Set。
从逻辑上讲,如果我写出类似How to convert an Array to a Set in Java 的内容而不是使用内置函数,它会起作用。但是,使用带有泛型的内置函数则不然。
TreeSet<Character> characterSet = Sets.newTreeSet();
String myString = "string";
Character [] characterArray = {'s','t','r','i','n','g'};
Collections.addAll(characterSet,characterArray); // This works
Collections.addAll(characterSet,myString.toCharArray()); // This Does not
为什么不将char 的数组转换为characters?
作为对答案的跟进。 (顺便说一句,谢谢)我想一个简单的例子就是为什么第一行隐式转换而第二行没有?
Character [] characterArray = {'s','t','r','i','n','g'}; // works
Character [] characterArray2 = myString.toCharArray(); // does not work
我的理解是右手边都 make character[] variabless
【问题讨论】:
-
简而言之:没有从“原始类型数组”到“包装类型数组”的自动装箱。
-
你的意思是
myString.toCharArray()和{'s','t','r','i','n','g'}不是同一个类型? -
阅读@kocko 写的关于该案例的内容。