Revised: Jan./1st/2002: Since: Jan./1st/2002
コアパッケージは沢山の種類があり、色々なクラスが定義されています。これらの便利な機能を利用したければ、一般には完全限定名をインポートします。
java.lang パッケージ例外として、 java.lang パッケージ内のクラスが挙げられます。
このパッケージは、コンパイラ javac によってバイトコードにコンパイルされるときに、自動的にインポートされますので、わざわざ明示的にインポートする必要はありません。例えば基本データ型のラップクラス、文字列を格納する String クラス、数学的演算操作を可能にする Math クラスなどです。
Java 環境では、言語仕様の中で利用できる機能を提供するものとして、大量のパッケージ群が提供されておりコアパッケージと呼ばれています。これに含まれるパッケージには、 java.lang の他にも沢山の種類があり、その仕様は API 仕様にまとめられています。本稿でも、コア・パッケージの代表的な標準クラスについて解説しています。
ここではその利用例として、 java.util の利用について紹介します。 java.util パッケージは、コレクションフレームワーク、従来のコレクションクラス、イベントモデル、日付と時刻の機構、国際化、およびさまざまなユーティリティクラス (文字列トークナイザ、乱数ジェネレータ、ビット配列) が含まれています。
次の例は java.util パッケージのインポート例です。このパッケージの Date クラスをインスタンス化しています。
//パッケージのインポート
import java.util.*;
//クラス定義
class TestDate{
public static void main(String args[]){
//Dateクラスのインスタンス化
Date hiduke=new Date();
System.out.println(hiduke);
//オブジェクトのメソッドの利用
long i=hiduke.getTime();
System.out.println(i);
//Dateクラスのインスタンス化
Date epoch=new Date(i);
System.out.println(epoch);
}
}
Date クラスは日付情報を保持します。引数のないコンストラクタでは現在の時刻がシステムから取得され、保持されます。 double 型の引数を持つコンストラクタでは標準時からのミリ秒数を受け取り、標準時からの指定されたミリ秒数を保持します。
C:\Java>javac TestDate.java C:\Java>java TestDate Wed Jan 02 18:05:57 JST 2002 1009962357107 Wed Jan 02 18:05:57 JST 2002
私が実行した時刻にシステムが保持していた時刻が表示されています。
コア・パッケージのインポートは、 API 仕様に明記されたとおりに記述すれば良いことになっています。自作パッケージの場合は、基準ディレクトリからの相対パスでしたので、随分違う感じがしますが、コアパッケージを参照するパス情報が、システムの CLASSPATH 変数に自動的にセットされているということです。
本格的にアプリケーション開発に臨むならば、 CLASSPATH 変数のセットは不可欠な手順です。