IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Mettre à jour un Objet[][]


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut Mettre à jour un Objet[][]
    Je me casse la tête à essayer ce genre d'opération depuis ce matin...impossible de trouver la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Object[][] o=new Object [][] {
                    {"test", "test2", "test3", "test4",  new Boolean(false), null, null},
                    {"lola", "tata", "titi", null,  new Boolean(true),  new Boolean(true),  new Boolean(true)}
                };
    Voici une première instance déclaré pour tester.


    EN voici une autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object[] o2={"1", "2", "3","lol",  new Boolean(true),  new Boolean(true),  new Boolean(true)};

    Je veux pouvoir ajouter mon o2 dans la liste des objets de o.

    Comment faire ?

    Merci à vous.

    EDIT


    Au passage j'ai déjà essayé ceci; ça ne génère pas d'erreur d'écriture; mais ça plante à l'exécution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Object[][] o=new Object [][] {
                    {"test", "test2", "test3", "test4",  new Boolean(false), null, null},
                    {"lola", "tata", "titi", null,  new Boolean(true),  new Boolean(true),  new Boolean(true)}
                };
             Object[] o2={"lola", "tata", "titi","lol",  new Boolean(true),  new Boolean(true),  new Boolean(true)};
             o[2]=o2;
    J'aurais été en c j'imagine que le problème viendrait de l'oublie d'un malloc...ici en java je ne vois pas ce qui provoque une erreur

    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
    17
    18
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
    	at dm.appli.loadTabData(appli.java:277)
    	at dm.appli.<init>(appli.java:25)
    	at dm.appli$5.run(appli.java:323)
    	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    	at java.awt.EventQueue.access$300(EventQueue.java:103)
    	at java.awt.EventQueue$3.run(EventQueue.java:699)
    	at java.awt.EventQueue$3.run(EventQueue.java:697)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    on ne peux pas "ajouter" dans un tableau, ça a une taille fixe. Si tu veux faire passer ton tableau de 2 à 3 lignes comme tu essaie de le faire, il faut créer un nouveau tableau avec trois lignes. Pour les tailles variables, on préfère l'utilisation des List en java:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    List<Object[]> o  = new ArrayList<>();
    o.add(new Object[] {"test", "test2", "test3", "test4",  new Boolean(false), null, null});
    o.add(new Object[] {"lola", "tata", "titi", null,  new Boolean(true),  new Boolean(true),  new Boolean(true)});
    o.add(o2);
    A noter que ton tableau en termes de poo est suspect. Il mélange plein de trucs différents qui n'ont pas de cohérence entre eux. On préfèrera en faire une classe spécifique qui représente une ligne avec des propriété bien nommée pour savoir de quoi on parle. C'est plus facile de faire un o.getNom() que de faire un (String)o[2]

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut
    Ok; j'ai donc eu la bonne intuition en construisant d'emblée un tableau de la taille nécessaire...c'est dommage car je ne peux pas adapter la taille dynamiquement et du coup je dois au final parcourir une fois de plus mon arborescence...mais bon ça marche c'est l'essentiel.


    Je retiendrais donc que je ne peux pas modifier la taille initiale sauf en passant par les interfaces.


    Merci à vous.




    Une autre question sans trop de rapport; encore désolé^^


    Une simple histoire d'affichage cette fois.


    J'utilise la méthode lastmodified sur un fichier pour obtenir la date de sa dernière modification.
    Le résultat étant un long, je passe par valueOf pour le transformer en string comme ci dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String lastModif=String.valueOf(f2.lastModified());

    Sauf qu'il semblerait au vu de mon affichage que je ne conserve pas un format de type date; mais plutôt le nombre de seconde écoulé depuis 1970.

    Donc je me demandais s'il n'existait pas une fonction me permettant de faire cette transformation pour avoir une date plus lisible...

    Encore merci^^

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    un long c'est un nombre, pas une date, et le valueof va juste te faire une string avec ce nombre.

    Pour obtenir un objet Date à partir de ça il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date date  = new Date(file.lastModified);
    Et pour la transformer en String par la suite, il faut passer par SimpleDateFormat.

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Question con (mais sérieuse) : à quoi te sert ce tableau Objet[][] ???
    Parce que ce doit être galère à gérer. Il doit y avoir moyen de faire bien mieux !


    a++

Discussions similaires

  1. [2.x] mettre à jour un objet
    Par wail_kun dans le forum Symfony
    Réponses: 2
    Dernier message: 03/09/2012, 20h14
  2. Mettre à jour un objet serializable
    Par peofofo dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 17/08/2012, 10h17
  3. Réponses: 4
    Dernier message: 15/02/2010, 21h41
  4. mettre à jour un objet place dans le contexte de l'appli
    Par lilli1407 dans le forum Struts 1
    Réponses: 6
    Dernier message: 09/11/2006, 16h58
  5. [Débutant][Conception] Mettre à jour un objet de type classe
    Par Sylvester dans le forum Général Java
    Réponses: 19
    Dernier message: 09/02/2006, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo