我是Java新手并尝试学习从char ArrayList到char数组的转换。我很难转换它。
List<Character> code = new ArrayList<Character>();
code.add("A");
code.add("B");
code.add("C");
这将显示为[A, B, C]
。我想要做的是将此数组列表转换为char[]
数组。
我尝试了以下内容:
char[] list = null;
for(int i=0; i<code.size(); i++){
list[i] = code.get(i);
System.out.println(list[i]); // this has the error
}
我得到的错误是java.lang.NullPointerException
。
我在网上搜索但我找不到“更好”的解决方案。其中大多数是从字符串到char的转换,反之亦然。也许我错过了一些关于此的重要知识。
再次,我是Java新手,任何帮助将不胜感激!
答案 0 :(得分:1)
您收到null
,因为您已将char数组初始化为char[] list = new char[code.size()];
。相反,您可能希望将其初始化为与ArrayList相同的新char数组大小,如:
List<Character> code = new ArrayList<Character>();
code.add("A");
code.add("B");
code.add("C");
char[] list = new char[code.size()]; // Updated code
for(int i=0; i<code.size(); i++){
list[i] = code.get(i);
System.out.println(list[i]);
}
以下是所有代码的外观。
var mynumber: Int!
mynumber = 5
var total = mynumber * 10 // 50
答案 1 :(得分:0)
使用前初始化char[]
。
char[] list = new char[code.size()];
由于列表变量初始化为null,因此您将获得NullPointerException
。
答案 2 :(得分:0)
试试这个。空指针异常是由于初始化为null
List<Character> code = new ArrayList<Character>();
code.add('A');
code.add('B');
code.add('C');
Character[] arr = new Character[code.size()];
arr = code.toArray(arr);
System.out.println(arr);