gpt4 book ai didi

java - 使用字符与字符数组进行初始化

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:08 27 4
gpt4 key购买 nike

这会打印出false

List vowelsList=Arrays.asList(new char[]{'a','e','i','o','u'});
System.out.println(vowelsList.contains('a'));//false

这会打印出 true

List vowelsList=Arrays.asList(new Character[]{'a','e','i','o','u'});
System.out.println(vowelsList.contains('a'));//true

char 自动装箱为 Character,我在 char 数组初始化器中使用过它。为什么我得到不同的结果!

最佳答案

同时打印

vowelsList.size();

对于两者,您会看到区别;)

剧透:

第一个方法的泛型是char[] ,所以你会得到一个大小为 1 的列表。它的类型是 List<char[]> .第二个代码的通用类型是 Character ,因此您的列表将包含与数组一样多的条目。类型是 List<Character> .


为避免此类错误,请不要使用原始类型!以下代码不会编译:

List<Character> vowelsList = Arrays.asList(new char[]{'a','e','i','o','u'});

下面三行就可以了:

List<char[]> list1 = Arrays.asList(new char[]{'a','e','i','o','u'}); // size 1
List<Character> list2 = Arrays.asList(new Character[]{'a','e','i','o','u'}); // size 5
List<Character> list3 = Arrays.asList('a','e','i','o','u'); // size 5

关于java - 使用字符与字符数组进行初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909089/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com