dodfr
Messages postés51Date d'inscriptionsamedi 20 novembre 2010StatutMembreDernière intervention27 décembre 2014
-
23 août 2010 à 22:53
dodfr
Messages postés51Date d'inscriptionsamedi 20 novembre 2010StatutMembreDernière intervention27 décembre 2014
-
24 août 2010 à 08:19
Bonjour,
Je débute en JAVA (je connais bien Delphi et PHP) et je viens de rencontrer deux problèmes que j'ai résolu mais je veux comprendre ce qu'apparement je n'ai pas bien compris.
1 - j'ai voulu utiliser Timestamp mais un "import java.sql.timestamp;" n'a pas suffit, il a fallut en plus que j'utilise le chemin complet lors de la création de mon objet "java.sql.Timestamp currentTimestamp = new java.sql.Timestamp(Calendar.getInstance().getTime().getTime());", alors qu'un "public static Timestamp getTheStamp" est bien accepté.
Qu'est-ce que j'ai raté ?
De plus quand je tente de créer un Timestamp avec des paramètres Y,M,D,H,M,S,N j'obtient un warning qui dit que cette fonction est dépréciée, quelle est donc le moyen de créer proprement un Timestamp en communiquant les différents éléments (int) de la date ?
2 - Quand je crée mon Timestamp, celui-ci demande des (int) mais si je tente de passer des (int) year, (int) month, sachant que year et month sont des string, le cast n'est pas accepté, je dois donc faire un Integer.parseInt(year).
Là encore, est-ce normal ? poourquoi un cast (int) n'est-il pas accepté ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 août 2010 à 23:05
Salut,
1/ Si tu arrive à déclarer avec uniquement le nom de la classe, mais que tu es obligé (pour la compilation je présume ?) de définir le nom complet de la classe avec le package pour l'instanciation, c'est pas normal en effet !
Quel IDE utilise-tu ? Est-ce une erreur signalée par ton IDE ou par le compilateur java ?
Ce genre d'erreur arrive si tu as plusieurs classes nommées Timestamp dans ton classpath et que tu utilises plusieurs classes dans ta classe, à ce moment là, pour les différencier, il te faut bien entendu utiliser le nom du package.
2/ Un cast permet de convertir le type de donnée : un long en int (si les données ne sont pas trop grande) par exemple. Pour un string, la difficulté est différente : Pourrais-tu me dire ce que donnerai : (int) "a" ? (int) "12,5" ? (int) "15.4" ? (int) "12 145" ?
Bref, Java ne permet pas le casting d'un string vers un int directement, contraîrement à PHP (et apparemment, contrairement à delphi aussi), d'où le passage par un parsing de la chaîne.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
dodfr
Messages postés51Date d'inscriptionsamedi 20 novembre 2010StatutMembreDernière intervention27 décembre 2014 23 août 2010 à 23:57
Merci pour ta réponse rapide,
Pour l'instant j'utilise BlueJ 3.01 histoire de ne pas me taper Eclipse tout de suite (que je trouve ultra lourd) car au final je compte faire de l'Android qui semble mieux intégré à l'émulateur que NetBeans (que je préfère pourtant pour son IDE plus clair).
JAVA semble un peu "tatillon" à la compilation par rapport aux langages que je connais, ceci dit pour Delphi j'ai certainement dû recontrer le même type de problème ... il y a plus de dix ans que j'ai débuté ;-)
Si je tente un (int) "12" j'ai toujours une erreur (même avec javac "à la main").
FileListing.java:121: inconvertible types
found : java.lang.String
required: int
(int) "12",
^
Donc apparement le cast n'est pas accepté pour créer un Timestamp.
Pour mon problème d'import j'ai retenté le coup et là pas de problème, je peux utiliser Timestamp directement, j'ai dû faire une erreur ou peut-être oublié de faire un "save" (trop habitué au compile+run de Delphi qui compile ce que l'on édite sans avoir besoin de "save").
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 24 août 2010 à 07:58
Salut,
Je n'ai jamais utilisé BlueJ, j'utilise eclipse depuis belle lurette, et malgré son apparente lourdeur, si tu le configure bien (notamment en choisissant la distribution d'eclipse vraiment adaptée à tes besoins, puis en désactivant les plugins que tu n'a pas besoin), il peut être très léger, chose que je n'ai pas réussi à reproduire avec netbeans qui lui ai vraiment très très lourd à mon goût.
Concernant le casting, c'est normal que ca ne passe pas à la compilation : lire mes explications au dessus.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
dodfr
Messages postés51Date d'inscriptionsamedi 20 novembre 2010StatutMembreDernière intervention27 décembre 2014 24 août 2010 à 08:19
OK merci,
En fait pour l'instant je découvre en faisant des petits progs que je lance sous Windows, mais le but est de faire des apps Android :-)
Je compte faire 2 apps principales, un gestion de compte en banque façon Money pour le PSION (pour ceux qui se souviennent) et que j'utilise encore aujourdh'ui avec ... l'émulateur PSION ! Les outils que j'ai pu tester actuellement ne me satisfont pas.
Et une app de gestion de bibliothèque personnelle pour gérer ma collection de livres (environ 500) et l'avoir toujours sur moi, avoir les jaquettes, pouvoir me souveneir si j'ai tel ou tel bouquin, retrouver certains auteurs, tout en scannant les ISBN pour récupérer les fiches sur Amazon et marquer certains bouquins que je prête (et à qui), la encore les apps que j'ai pu tester ne me plaisent pas vraiment.