2011-10-31 8 views
12

私は疑いがあります。 JavaでArrayListまたはHashMapを使用する場合は、java.util.ArrayListまたはjava.util.HashMapをインポートする必要があります。しかし、Stringを使用する場合、importステートメントは必要ありません。誰でも明確にすることができます、なぜですか?Java String import

+1

あなたは正しいです:) –

+0

ありがとう@Nathan Quirynen ..パッケージjava.langはprogrmで事前にインポートされていて、明示的にインポートする必要はありませんか? –

+0

私はあなたが疑う余地がないことを意味しました。 > –

答えて

9

java.langパッケージのすべてが暗黙的にインポートされます(Stringを含む)。あなた自身で行う必要はありません。これは単なるJava言語の機能です。ただし、ArrayListとHashMapは暗黙的にインポートされていないjava.utilパッケージに含まれています。

パッケージjava.langには、基本バージョンのプリミティブ、基本例外、Objectクラスなどの基本機能が含まれています。これは、ほとんどのプログラムにとって不可欠であり、人々にインポートを強制することは冗長であるため、このパッケージの内容は暗黙的にインポートされます。

+0

ありがとうKris ... :-) –

15

Stringは、すべてのjavaプログラムでデフォルトでインポートされるjava.langパッケージに含まれています。

+0

ありがとうAnkur .. :-) –

+0

あなたは歓迎です:) – Ankur

+0

ドキュメントから:_...は、宣言されたすべてのパブリックタイプを自動的にインポートします事前定義されたパッケージのjava.lang._ソース:https://docs.oracle.com/javase/specs/jls/se7/html/jls-7.html –

1

Javaコンパイラはデフォルトで3つのパッケージをインポートします。あなたはjava.langパッケージのインポート文を宣言する必要はありません理由です 1. The package without name 2. The java.lang package(That's why you can declare String, Integer, System classes without import) 3. The current package (current file's package)