Bonjour à tous,
Aujourd’hui j'ai un problème vraiment très bizarre..
Voici le code :
L'exception est donc java.util.Vector cannot be cast to [Ljava.lang.Object; ALORS QUE la méthode list.get(i) renvoi un tableau d'objet (d'après la javadoc)..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public HashMap<String, String> getDivisionGroupeHM() { HashMap<String, String> hm = new HashMap<String, String>(); try { Query query = em.createNativeQuery("SELECT long_name, name FROM Groupe_ews"); List<Object[]> list = query.getResultList(); for (int i = 0; i<list.size(); i++) { Object[] tmp = list.get(i); // <--- ICI : EXCEPTION : java.util.Vector cannot be cast to [Ljava.lang.Object; hm.put(tmp[0].toString(), tmp[1].toString()); } } catch (Exception e) { log.fatal("Erreur: ", e); return null; } return hm; }
Bien-sur si j'essaye de remplacer "Object[] tmp = list.get(i);" PAR "Vector[] tmp = list.get(i);" NetBeans me dis fuck get(i) retourne un Object pas un Vecteur..
==> FOUTAGE DE GUEULE INTEGRAL ! mdr
Si quelqu'un a déjà fais face à ce problème, ou aurait une idée, je serait preneur !!
Ps : Meme probleme, meme exception si le for est defini comme ca :
Update : Enocre mieux ! :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public HashMap<String, String> getDivisionGroupeHM() { HashMap<String, String> hm = new HashMap<String, String>(); try { Query query = em.createNativeQuery("SELECT long_name, name FROM Groupe_ews"); List<Object[]> list = query.getResultList(); for (Object[] resultElement : list) { hm.put((String)resultElement[0], (String)resultElement[1]); } } catch (Exception e) { log.fatal("Erreur: ", e); return null; } return hm; }=> Exception : java.util.Vector cannot be cast to [Ljava.util.Vector;
Code : Sélectionner tout - Visualiser dans une fenêtre à part Vector[] tmp = (Vector[]) list.get(i);
Un vector peut pas etre casté en vector.. Pas mal pas mal..
Merci d'avance pour votre aide.
Cordialement,
Partager