Sto ottenendo un vettore dall'API di un prodotto.[java.lang.String; non può essere lanciato su java.lang.String
Vector<?> dataVector = dataAPI.getReturnVector();
Il vettore dovrebbe contenere stringhe come valore. Sono in grado di stampare la dimensione del vettore come 2. Ma per qualche motivo non sono in grado di iterare e stampare i valori.
ho cercato
Iterator<?> iter = dataVector.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
finisco sempre per ottenere un
[java.lang.String; cannot be cast to java.lang.String
ho usato
iter.next().getClass().getName()
e si è rivelato essere solo java.lang.String
.
Googled un po 'e hanno trovato un problema simile a http://prideafrica.blogspot.com/2007/01/javalangclasscastexception.html
ho cercato di impostare i farmaci generici come String[]
, ma ha finito con lo stesso errore.
Se il vettore contiene java.lang.String
, perché ottengo questa eccezione di trasmissione? Come posso stampare i valori attuali?
Si prega di fornire i vostri suggerimenti.
Da dove viene questo punto e virgola? –
Forse il messaggio di errore inizia con una parentesi aperta come '[java.lang.String;'? Quello sarebbe il nome interno di un array di stringhe. –
Oh sì, è iniziato con una parentesi aperta [. Mi dispiace per averlo perso. Non sapevo che avrebbe fatto la differenza. – jobinbasani