程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Java 1.6:创建List <T>的数组大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Java 1.6:创建List <T>的数组?

开发过程中遇到Java 1.6:创建List <T>的数组的问题如何解决?下面主要结合日常开发的经验,给出你关于Java 1.6:创建List <T>的数组的解决方法建议,希望对你解决Java 1.6:创建List <T>的数组有所启发或帮助;

好吧,泛型教程为你的问题提供了答案。

数组对象的组件类型可能不是类型变量或参数化类型,除非它是(无界)通配符类型。你可以声明其元素类型是类型变量或参数化类型的数组类型,但不能声明数组对象。

当然,这很烦人。为避免出现以下情况,必须使用此限制:

// Not really allowed.
List<String>[] lsa = new List<String>[10];
Object o = lsa;
Object[] oa = (Object[]) o;
List<Integer> li = new ArrayList<Integer>();
li.add(new Integer(3));
// Unsound, but passes run time store check
oa[1] = li;

// Run-time error: ClassCastException.
String s = lsa[1].get(0);

如果允许使用参数化类型的数组,则前面的示例将在编译时没有任何未经检查的警告,但会在运行时失败。我们已经将类型安全性作为泛型的主要设计目标。

解决方法

为什么我不能创建一个List数组?

List<String>[] nav = new List<String>[] { new ArrayList<String>() };

Eclipse说“无法创建列表的通用数组”

要么

ArrayList<String>[] nav = new ArrayList<String>[] { new ArrayList<String>() };

Eclipse说“无法创建ArrayList的通用数组”

要么

List<String>[] getListsOfStrings() {
    List<String> groupA = new ArrayList<String>();
    List<String> groupB = new ArrayList<String>();
    return new List<String>[] { groupA,groupB };
}

但是我可以这样做:

List[] getLists() {
    return new List[] { new ArrayList(),new ArrayList() };
}

Eclipse表示List和ArrayList是原始类型,但可以编译…

看起来很简单,为什么不起作用?

大佬总结

以上是大佬教程为你收集整理的Java 1.6:创建List <T>的数组全部内容,希望文章能够帮你解决Java 1.6:创建List <T>的数组所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: