相关疑难解决方法(0)

为什么List <String> .toArray()返回Object []而不是String []?如何解决这个问题?

有谁知道为什么Java 1.6有这种行为:

List<String> list = ArrayList<String>();
String[] arr = (String[]) list.toArray();
Run Code Online (Sandbox Code Playgroud)

我得到一个ClassCastException,因为它返回Object []而不是String [].

我以为 List<T>.toArray()应该返回T [] - 不是吗?有没有人能够回答为什么语言中存在这种不便?还有如何解决这个问题?如何在List<String>不通过项目循环的情况下获取String [] ?

java generics

29
推荐指数
2
解决办法
1万
查看次数

将ArrayList转换为Array

我在将数组列表转换为java中的数组时遇到了一些麻烦.

我有一个名为Table的类,它包含一个名为applicantsString 的数组列表.当我使用我的toArray()函数时,似乎没有将数组列表转换为数组.

我知道这个,因为当我运行listArray()函数时,它会给出错误:

java.lang.NullPointerException.

这是代码.任何帮助将不胜感激.

public class Table {
    public ArrayList<String> applicants;
    public String appArray[];

    public Table() {
        applicants = new ArrayList<String>();
    }

    public void addApplicant(String app) {
        applicants.add(app);
    }

    public void toArray() {
        int x = applicants.size();
        String[] appArray = new String[x];
        appArray = applicants.toArray(appArray);
    }

    public void list() {
        for (int i = 0; i < applicants.size(); i++) {
            System.out.println(applicants.get(i));
        }
    }

    public void listArray() {
        for (int i = appArray.length; i …
Run Code Online (Sandbox Code Playgroud)

java arrays null exception arraylist

3
推荐指数
1
解决办法
4万
查看次数

标签 统计

java ×2

arraylist ×1

arrays ×1

exception ×1

generics ×1

null ×1