Probleme conservation des enregistrements d'une arraylist [Résolu]

Signaler
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
-
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
-
bonjour

j'ai une classe taux_tva qui a :
private static ArrayList<String> liste_tva = new ArrayList<String>() ;

cette liste_tva se remplie lorsqu on ajoute des taux de tva quand l'application est executé
mais lorsque je ferme l'execution cette liste se vide

comment pourais je conserver les enregistrements apres avoir fermer l'execution

merci d'avance

9 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
305
Bonjour,

Les données d'une application sont stockées dans la mémoire vive de ton poste de travail les emplacements de ces variables ne sont connus que par ton application. Une fois qu'elle est fermée, les données sont perdues. Tu ne peux pas "directement" enregistrer l'état de ton application.

Plusieurs solutions s'offrent alors à toi : utiliser une base de données pour enregistrer les données ou un fichier texte éventuellement au format XML.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
305
Une arrayList prend une classe comme type générique (ce qu'il y a entre <> est appelé type générique).

Or double n'est pas une classe, c'est un type primitif (il commence par une minuscule, ce n'est donc pas une classe) et donc, tu ne peux pas paramétrer les listes avec double. Par contre, tu as une classe Double qui te permet de paramétrer ta liste :
ArrayList<Double> liste_tva = new ArrayList<Double>()
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
7
merci

en faite, moi j'ai voulu sauvegardé ces taux de tva comme ca car j'ai dit qu'on aura au maximum 20 taux differents : donc pas la peine de creer une table

alors maintenant je pense que je serai obligé

et si je fais dans un fichier serait il tjs attaché a l'application ?

qu'est ce que tu me conseille

merci d'avance
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
305
Si tu as 20 taux, ne t'embêtes pas avec une base de données, enregistre les dans un fichier texte simple (pas de XML). Tu places un taux par ligne et c'est fait. Tu en as pour quelques minutes seulement.

Voilà comment lire et écrire des fichiers textes tu savais peut être le faire : http://www.javafr.com/codes/LIRE-ECRIRE-FICHIERS-TEXTE_52348.aspx
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
305
Il y a une chose que je ne comprends pas, si ta liste contient des taux de TVA, pourquoi as tu une liste de String et non une liste de Float ou d'Integer. Ou créé carrément un objet TauxTVA qui contient le taux et créé une liste de TauxTVA.

Ce serait tout de même un peu plus propre comme code.
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
10
salut ;o)

n oublions pas non plus les mécanismes ;o) integré de sérialization ;o) héhé ;o)

GodConan ;o)
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
305
Bonjour

Je ne connaissais pas le mécanisme de sérialisation (je n'en avais jamais eu besoin auparavant) et en voyant la réponse de GodConan, j'ai voulu tester. Alors plutôt que de tester sur un exemple bidon j'ai repris ton histoire de taux de TVA.

J'ai commenté le code histoire de faire un truc propre et je l'ai posté sur ce site, tu n'as plus qu'à le récupérer à cette adresse : http://www.javafr.com/codes/UTILISATION-SERIALISATION_53479.aspx

J'espère que ça te conviendra.

Et merci a toi GodConan pour ta réponse instructive.
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
7
bonjour,

merci a vous tous pour vos indications et vos codes sources


Il y a une chose que je ne comprends pas, si ta liste contient des taux de TVA, pourquoi as tu une liste de String et non une liste de Float ou d'Integer. Ou créé carrément un objet TauxTVA qui contient le taux et créé une liste de TauxTVA.


j'ai fait private static ArrayList<double> liste_tva = new ArrayList<double>() ;

mais ca genere une erreur (pas reconnu je pense )

=>syntax error on token double, dimension expected after this token
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
7
merci