Javaのインポート宣言において、
java.langパッケージに属するクラスのインポート宣言は省略可能です。
インポート宣言なしのソースコード
そもそもJavaにおいては、
コンパイラやJVMは、完全修飾クラス名(パッケージ名.クラス名)でしか
クラスを扱うことはできません。
つまり、本来は以下のようなソースコードを記載する必要があります。
class Sample(){ public static void main(String[] args){ java.lang.String str = "100"; int num = java.lang.Integer.parseInt(str); } }
上記のようにプログラムを記述すると、コードが冗長になり、可読性が低下します。
そこで、次のようにインポート宣言をすると、パッケージ名の省略が可能となります。
import java.lang.String; import java.lang.Integer; class Sample(){ public static void main(String[] args){ String str = "100"; int num = Integer.parseInt(str); } }
java.langパッケージに属するクラスのインポート宣言が省略できる理由
そして、java.langパッケージに属するクラスは以下の理由から、
インポート宣言の省略が可能となっています。
- java.langパッケージには、基本的なクラスがまとめられている
- java.langパッケージ内のクラスは、頻繁に利用される
また、以下のようなインポート宣言は、
import java.lang.String; import java.lang.Integer;
以下のように、ワイルドカード「*:アスタリスク」を用いて、記述をすることも可能です。
import java.lang.*;
コメント