当前位置:  开发笔记 > 编程语言 > 正文

可能错误调用ArrayList索引?

如何解决《可能错误调用ArrayList索引?》经验,为你挑选了1个好方法。

所以我的这个程序的目标是创建一个方法,它将接受一个字符串和ArrayList一个参数,它将字符串添加到该字符串ArrayList然后按字母顺序排列整个事物并返回ArrayList包括字符串的字母顺序.

我遇到麻烦的是 alphabetized.get(x) = arr.get(x);

该程序将无法编译,因为它无法识别值x但我在for循环中早先说明了所以我不确定为什么它不会运行...

public class TestArrays {
    static Scanner reader = new Scanner(System.in);

    public static void main(String[] args) {    
        String pat;

        ArrayList names = new ArrayList();
        names.add("anna");
        names.add("bob");
        names.add("matthew");
        names.add("charles");
        names.add("effron");
        System.out.print(newArray(names, pat));
    }

    public static ArrayList newArray(ArrayList arr, String str) {
        List alphabetized = new ArrayList(arr.size());
        arr.add(str);
        java.util.Collections.sort(arr);
        for (int x=0; x<=arr.size();x++){
            alphabetized.get(x) = arr.get(x);
        }
        return alphabetized;
    }
}

谢谢



1> rgettman..:

问题是表达式alphabetized.get(x)是一个值,而不是一个变量,因此您无法为其分配任何内容.这与数组访问表达式形成对比,数组访问表达式可以充当变量,例如alphabetizedArray[x] = array[x];.

你需要的set方法,这需要一个指数,该指数的新值.

alphabetized.set(x, arr.get(x));

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有