java泛型。[Ljava.lang.Object;不能强制转换为[Ljava.lang.String;
由于java泛型的原因,我正在使用truble进行强制转换。有人能帮忙吗java泛型。[Ljava.lang.Object;不能强制转换为[Ljava.lang.String;,java,generics,Java,Generics,由于java泛型的原因,我正在使用truble进行强制转换。有人能帮忙吗 Iterable<String> s = instance.outgoingEdges("Viseu"); ArrayList<String> lf = new ArrayList<>(); for (String x : s) { String[] array = (String[])instance.endVertices(x); f
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);
}
}
这个问题不是由泛型引起的 问题很简单,
endVertices()
正在返回一个对象[]
,您不能将对象[]
强制转换为字符串[]
。Java不会允许您这样做
如果我理解该代码的意图,那么我认为您应该更改:
String[] array = (String[]) instance.endVertices(x);
到
或者只是
Object[] array = instance.endVertices(x);
显然endVertices不会返回您认为它会返回的结果。显示它。
Object[] array = (Object[]) instance.endVertices(x);
Object[] array = instance.endVertices(x);