Quelle est la différence entre les importer java.util.*; et importer java.util.Date; ?
Je veux juste le courant de sortie et je l'ai écrit
import java.util.*;
au début, et
System.out.println(new Date());
dans la partie principale.
Mais ce que j'ai obtenu quelque chose comme:
Date@124bbbf
Quand je change l'importation de import java.util.Date;
le code fonctionne parfaitement, pourquoi?
====================================
Le problème a été, OK, mon fichier source "Date.java", qui en est la cause.
Bien, c'est de ma faute, j'ai confondu tout le monde autour ;P
Et merci à tout le monde ci-dessous. C'est vraiment GENTIL DE votre part 😉
Dans vous premier exemple, avez-vous peut-être importer quoi que ce soit d'autre? E. g. java.sql.Date?
Vous pourriez avoir d'autres importations - voyons quelques compilable de code qui montre ce
Voir aussi: stackoverflow.com/questions/147454/..., stackoverflow.com/questions/187453/..., stackoverflow.com/questions/585268/..., stackoverflow.com/questions/1553909/...
Droit de vote parce que parfois, un bon contre-exemple est aussi utile que quoi que ce soit. 🙂
thx à vous tous, @Marc j'ai nommé la classe "Date" et c'est le problème de @finnw thx pour en citant @mtruesdell pitié, je ne peux pas voter encore.. un très newbie que je suis
Vous pourriez avoir d'autres importations - voyons quelques compilable de code qui montre ce
Voir aussi: stackoverflow.com/questions/147454/..., stackoverflow.com/questions/187453/..., stackoverflow.com/questions/585268/..., stackoverflow.com/questions/1553909/...
Droit de vote parce que parfois, un bon contre-exemple est aussi utile que quoi que ce soit. 🙂
thx à vous tous, @Marc j'ai nommé la classe "Date" et c'est le problème de @finnw thx pour en citant @mtruesdell pitié, je ne peux pas voter encore.. un très newbie que je suis
OriginalL'auteur EthanZ6174 | 2009-10-30
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement quelques autres "Date" de la classe importé quelque part (ou si vous avez un Jour de classe dans le package, qui n'a pas besoin d'être importés). Avec "import java.util.*" vous êtes à l'aide de "l'autre" Date. Dans ce cas, il est préférable de spécifier explicitement java.util.Date dans le code.
Ou mieux, essayez d'éviter de nommer vos classes "Date".
Bon pour vous! Ne jamais le faire à nouveau...
Voir Puzzle 7 dans cet exemple de liste de Java casse-têtes - javapuzzlers.com/java-puzzlers-sampler.pdf. Ce livre est un réel recommander pour tout programmeur Java!
OriginalL'auteur sleske
La
toString()
mise en œuvre dejava.util.Date
ne dépend pas de la façon dont la classe est importé. Elle renvoie toujours une belle date formatée.La
toString()
vous voyez vient d'une autre classe.Spécifiques à l'importation ont la priorité sur les génériques des importations.
dans ce cas
se réfère à
other.Date
et pasjava.util.Date
.La chose étrange est que
Devrait vous donner un compilateur d'erreur indiquant que la référence à ce Jour est ambigu, car les deux
other.Date
etjava.util.Date
matchs.OriginalL'auteur Fedearne
importations tout à l'intérieur de java.util, y compris la classe Date.
juste importations de la classe Date.
De l'une de ces ne peut faire aucune différence.
OriginalL'auteur Chris R
Votre programme devrait fonctionner exactement la même chose avec soit importer java.util.*; ou importer java.util.Date;. Il y a quelque chose d'autre que vous avez fait entre les deux.
OriginalL'auteur cherouvim
Qu'entendez-vous par "fonctionne parfaitement"? La sortie de l'impression d'un objet Date est la même, peu importe que vous importés de java.util.* ou java.util.Date. La sortie que vous obtenez lors de l'impression d'objets est la représentation de l'objet par la méthode toString() de la classe correspondante.
OriginalL'auteur Vijay Dev