Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Cast Object vers ArrayList<String> java1.5 [ Divers / Général ] (el_teedee)

jeudi 9 août 2007 à 12:34:02 | Cast Object vers ArrayList<String> java1.5

el_teedee

Membre Club
Salut à tous,

voilà, je comprend pas vraiment (juste un peu en fait) les générics en java 1.5.

Contexte : je mets une ArrayList<String> dans ma session J2EE, et lorsque je souhaite la récupérer, getAttribute renvoyant un Object, il me faut la caster. (en tout cas, comme j'aurais fait en 1.4)

Code qui plante :
ArrayList<String> al = new ArrayList<String>();
al = (ArrayList<String>)request.getSession().getAttribute("attribut");


Le problème est qu'il me sort les erreurs suivantes :

1. si je cast en ArrayList tout court :
Type safety: The expression of type ArrayList needs unchecked conversion to conform to
 ArrayList<String>


2. si je cast (tout logiquement) en ArrayList<String> :
Type safety: The cast from Object to ArrayList<String> is actually checking against the erased
 type ArrayList


Qui m'est totalement incompréhensible, et inconnu au bataillon.

Avez-vous la solution pour réussier à récupérer mon arraylist de ma session ? Merci


jeudi 9 août 2007 à 14:10:41 | Re : Cast Object vers ArrayList<String> java1.5

GodConan

en gros ce qu il te dit c est que tu cast mais que tu n est pas sur d en avoir ... c est une warning ca non ? cela ne doit pas bloquer ton programme?

autrement il est difficile d analyser le problem ;o) ne sachant ce qu est 'request' et donc ne connaissant pas les possibilité de getAttribute ;o) ...
autrement l utilisation des typage de tableau est bien simpatique pour le parcour leur parcout ou la en utilisant la boucle for each tu n as plus besoin de caster les elements... ;o)

GL

GodConan ;o)

jeudi 9 août 2007 à 14:19:59 | Re : Cast Object vers ArrayList<String> java1.5

el_teedee

Membre Club
slt,

et bien request est une requette http HttpServletRequest ;)

C'est bien un warning, mais la jsp plante à l'éxécution de ce morceau. Pourtant l'objet dont le nom d'attribut est 'attribut' dans l'exemple est bien un ArrayList<String>

jeudi 9 août 2007 à 15:21:31 | Re : Cast Object vers ArrayList<String> java1.5

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

si tu veux enlever le warning, il te suffit de rajouter @SuppressWarnings au dessus de la méthode qui lève le warning exemple :
[...]
@SuppressWarnings("unchecked")
public void toto() {
    [...]
    ArrayList<String> al = new ArrayList<String>();
    al = (ArrayList<String>)request.getSession().getAttribute("attribut");
    [...]
}
[...]

maintenant pour ce qui est du plantage... bah faut voir... tu as testé un truc genre :
[...]
@SuppressWarnings("unchecked")
public void toto() {
    [...]
    Object obj = request.getSession().getAttribute("attribut");
    if(obj instanceof ArrayList) {
        ArrayList<String> al = new ArrayList<String>();
        al = (ArrayList<String>)
obj;
       
[...]
    } else
       System.err.println("Instanceof failure : " + ((obj != null) ? obj.getClass() : "null"));
}
[...]

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

jeudi 9 août 2007 à 16:50:02 | Re : Cast Object vers ArrayList<String> java1.5

GodConan

es tu sur que c est bien l array qui est passé ??? et non pas une simple reference ?!! metrise tu tout le processus de sérialisation?!!! ;o) passer un tableau comple dans un flux presente certains risk ;o) .... attention

GL

GodConan ;o)

jeudi 9 août 2007 à 17:00:04 | Re : Cast Object vers ArrayList<String> java1.5

el_teedee

Membre Club
Salut les gens merci pour vos réponses,

cependant, étant donné que je pars demain en vacances et qu'il faut que j'avance absolument un max ajourd'hui, j'ai laissé tombé les ArrayList générique et repris un bon vieux bout de code 1.4 :p

> Twinuts : (c'est dans une jsp et pas une classe) ouep, j'ai testé en entourant d'un try catch, mais j'ai pas réussi à avoir autre chose qu'une "JasperException" super !

> GodConan : oui je maitrise entièrement la sauvegarde dans la session, et je suis sur que c'est bien mon objet ArrayList que j'y met...

Voilà au final vers quoi je suis revenu :

List alTypeChoisis = new ArrayList();
alTypeChoisis = (List)request.getSession().getAttribute("
attribut");

Avec ca, j'ai ni warnig, ni plantage.

> Twinuts : j'ai pas essayé le @SuppressWarnings, le concept me plaît pas trop :) j'aurais préféré comprendre la mécanique, mais là il s'avère que j'ai pas le temps

Merci quand même les gens ++

jeudi 9 août 2007 à 20:27:15 | Re : Cast Object vers ArrayList<String> java1.5

GodConan

t inquiete ;o) on en est tous la .... ;o) qd on a pas le temps ;o) on en reviend au bonne vielles soluces.... ;o) ;o) qui sont souvent meilleur en fait ;o)héhéhé

GodConan ;o)



Cette discussion est classé dans : type, arraylist, to, object, cast


Répondre à ce message

Sujets en rapport avec ce message

ArrayList<Object[]> to Object[][] [ par ludo2612 ] Bonjour,J'ai un problème de conversion. J'ai un ArrayList pour une quelconque raison et j'aurais besoin de le transformer en Object [] []. La méthode Cast... [ par joduak ] Bonsoir, Je voudrais savoir si il y a possibilité d'effectuer un cast dune variable de type Object en une variable de type String[][] ? Merci d'avance réfléxivité - Comment transtyper un objet de type Object en une liste de type dynamique [ par AlexN ] Salut,Je veux remplir une table avec des données provenant de plusieurs tables dont les types correspondants descendent tous de la même classe.Class F type Objet [ par spy2008 ] slt je crée un composant JTable voici le code: Object[][] donnees=new Object[20][4];            donnees[j][0]="hanane ";            donnees[j][1]= 0.3 Image to Icon [ par Escap ] Bonjourà tous et à toutes ....J'aimerais savoir s'il y a un moyen pour convertir un objet type image en type Icon voir ImageIcon (le cast ne fonctionn type Object [ par darkkakashi49 ] Bonjour ayant une application a réalisé lors de ma requête à la base PostGreSql, celle-ci me retourne un Object[][] pour pouvoir l'utilisé il faudrait pb ArrayList de type Contact a utilisé pour creer une ListModel [ par boost13 ] Bonjour,J'ai une ArrayList de type Contact.Contact est aussi une ArrayList mais de type String (nom,adresse,...).Je voudrais afficher une JList avec m Integer to Object [ par Zoupine ] Bonjour,Je pense que le cast de Integer vers Object est interdit en java. Comment faire alors ?J'ai un Vector() contenant des Integer.Et quand je ten convertion d'un object en int (cast ?) [ par coucounet ] Bonjour à tous,Voilà on problème : je récupère un object dans une jtable et je voudrais le convertir soit en int soit en float, car je dois effectuer problème de cast à la compil avec les generics [ par PijanaKrava ] bonjour, bonjour !voilà mon chti problème de compilation avec nos chères generics tant attendus qui font déjà chier (je précise que j'ai la version fi


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.