java泛型。 [Ljava.lang.Object;无法转换为[Ljava.lang.String;

时间:2015-10-20 13:44:12

标签: java generics

由于java泛型,我在铸造方面很不稳定。有人可以帮忙吗?

Iterable<String> s = instance.outgoingEdges("Viseu");

    ArrayList<String> lf = new ArrayList<>();
    for (String x : s) {
        String[] array = (String[])instance.endVertices(x);
        for (Object v : array) {
            System.out.println(v);
        }
    }

错误来自以下行:

String[] array = (String[])instance.endVertices(x);

1 个答案:

答案 0 :(得分:0)

问题不是由仿制药造成的。

问题只是endVertices()正在返回Object[],而您无法将Object[]投射到String[]。 Java不会让你。

如果我理解该代码的意图,那么我认为你应该改变:

    String[] array = (String[]) instance.endVertices(x);

    Object[] array = (Object[]) instance.endVertices(x);

或者只是

    Object[] array = instance.endVertices(x);