繁体   English   中英

Arrays.asList编译问题

[英]Arrays.asList compilation problem

我已经使用Arrays.asList数十次,即使没有数百次也没有问题。 从6.8切换到NetBeans 6.9后,以前的突然编译代码突然无法编译。 这是有问题的几行:

Node n = new NickNode(4,5);
Node m = new NonLocatableNode();
Node subclass = new NickSubclassNode();

List<Node> nodes = Arrays.asList(n,m,subclass);

node的子类并不重要; 他们编译很好。 给我一个错误的行是Arrays.asList行。 我得到错误

替代文字http://grab.by/grabs/b553ffb898ca0874ef4741b8c87fc576.png

我不知道从哪里可以获得有关HelpCtx.Provider []的信息。有人看到此代码片段有问题吗?

将asList行替换为

List<Node> theNodes = new LinkedList<Node>();
theNodes.add(n);
theNodes.add(m);
theNodes.add(subclass);

工作正常。 但我更喜欢Arrays.asList的较短语法

尝试这个

List<Node> nodes = Arrays.<Node>asList(n,m,subclass);    

您的错误图片对我没有显示,但看起来像是泛型问题。 从netbeans 6.8迁移到6.9时,也许编译器警告切换为编译器错误?

尝试将您的列表声明为...

List<? extends Node> nodes = Arrays.asList(n, m, subclass);

通配符语法指定列表包含Nodes以及从Node继承的任何内容。

是的,这是已经报告过的NetBeans 6.9中的错误,因此希望它将尽快得到解决。 您可以在此处看到该错误报告

它应该是:

List<? extends Node> nodes = Arrays.asList(n,m,subclass);

请记住:

List<Sub Class> is not a sub class for List<Parent Class>

他们是不同的阶级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM