Questions de débutant

dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014 - 23 août 2010 à 22:53
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 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é ?

cdlt.

6 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 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").
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014
23 août 2010 à 23:58
ps. : le ^ est sous le premier " de "12", l'éditeur de texte de coede-source a fait un trim.
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 décembre 2014
24 août 2010 à 00:03
rectification BlueJ semble compiler ce que j'édite sans devoir faire un "save" donc je ne sais pas d'où provenait le problème de mon import.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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
0
dodfr Messages postés 51 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 27 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.

cdlt.
0
Rejoignez-nous