web-dev-qa-db-ja.com

import Java.util。*の違いは何ですか?そして、Java.util.Dateをインポートします。 ?

電流を出力したいだけなのに

import Java.util.*;

初めに、そして

System.out.println(new Date());

本体に。

しかし、私が得たものは次のようなものでした:

Date@124bbbf

インポートをimport Java.util.Date;に変更すると、コードは完全に機能しますが、なぜですか?

====================================

問題は、問題ありませんでした。私のソースファイルは "Date.Java"でした。これが原因です。

まあ、それはすべて私のせいです、私は周りのみんなを混乱させました; P

そして、以下の皆さんに感謝します。それは本当に素敵なあなたです;)

8
EthanZ6174

他の「Date」クラスがどこかにインポートされている可能性があります(または、パッケージにDateクラスがあり、インポートする必要はありません)。 「import Java.util。*」では、「その他」の日付を使用しています。この場合、コードでJava.util.Dateを明示的に指定するのが最善です。

または、クラスに「日付」という名前を付けないようにしてください。

12
sleske

_Java.util.Date_のtoString()実装は、クラスのインポート方法に依存しません。常にニース形式の日付を返します。

表示されるtoString()は、別のクラスからのものです。

特定のインポートはワイルドカードインポートよりも優先されます。

この場合

_import other.Date
import Java.util.*

new Date();
_

_other.Date_ではなく_Java.util.Date_を参照します。

奇妙なことは

_import other.*
import Java.util.*
_

_other.Date_と_Java.util.Date_の両方が一致するため、Dateへの参照があいまいであることを示すコンパイラエラーが表示されます。

5
Fedearne
import Java.util.*;

dateクラスを含むJava.util内のすべてをインポートします。

import Java.util.Date;

dateクラスをインポートするだけです。

これらのどちらを行っても違いはありません。

4
Chris R

プログラムはimport Java.util。*;またはimport Java.util.Date;のどちらでもまったく同じように動作するはずです。その間にあなたがした他の何かがなければなりません。

2
cherouvim
but what I got is something like this: Date@124bbbf  
while I change the import to: import Java.util.Date;  
the code works perfectly, why? 

「完全に機能する」とはどういう意味ですか? Dateオブジェクトの出力は、Java.util。*とJava.util.Dateのどちらをインポートした場合でも同じです。オブジェクトの印刷時に得られる出力は、対応するクラスのtoString()メソッドによるオブジェクトの表現です。

0
Vijay Dev