1
Aprender a programar desde cero / CU00678B java.lang.ClassCastException: java.lang.Integer cannot be cast String
« en: 22 de Marzo 2015, 21:48 »
Buenas,
Tengo este código sobre el ejercicio final de este capítulo:
El código en sí me tira una excepción:
Según yo debería correr pero en ejecución me da este error:
¿Pueden decirme por favor qué cambio debo hacer?
Tengo este código sobre el ejercicio final de este capítulo:
Código: [Seleccionar]
import java.util.*;
public class TestEjercicio78 {
public static void main (String [ ] Args) {
ArrayList<Set> arraySet = new ArrayList<Set>();
HashSet<String> arrayString = new HashSet<String>();
TreeSet<Integer> arrayInteger = new TreeSet<Integer>();
arrayString.add("sol");arrayString.add("luna");arrayString.add("saturno");
arrayInteger.add(2);arrayInteger.add(8);arrayInteger.add(5);
arraySet.add(arrayString);
arraySet.add(arrayInteger);
Iterator<Set> it = arraySet.iterator();
int typeClass = 0;
while ( it.hasNext() ) {
if(it.next() instanceof HashSet ){
System.out.println("Nombre de clase detectado: HashSet");
typeClass = 1;}else{
System.out.println("Nombre de clase detectado: TreeSet");
typeClass = 2;}
if (typeClass == 1){ //En caso de que sea objeto string
Iterator<String> itString = it.next().iterator();
String tmpAnalizandoString = "";
int contadorString = 0;
while ( itString.hasNext() ){
System.out.println("Objeto " + contadorString + "String detectado: " + itString.next());
contadorString++;
}
}
if (typeClass == 2){ //En caso de que sea objeto integer
Iterator<Integer> itInteger = it.next().iterator();
Integer tmpAnalizandoInteger = 0;
int contadorInteger = 0;
while ( itInteger.hasNext() ){
System.out.println("Objeto " + contadorInteger + "String detectado: " + itInteger.next());
contadorInteger++;
}
}
} //Cierre del while
}
}
El código en sí me tira una excepción:
Código: [Seleccionar]
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at TestEjercicio78.main(TestEjercicio78.java:45)
Según yo debería correr pero en ejecución me da este error:
Código: [Seleccionar]
System.out.println("Objeto " + contadorString + "String detectado: " + itString.next());
¿Pueden decirme por favor qué cambio debo hacer?
RSS