Javaのパッケージとは?
Javaには、クラス名を一意に決められるように「パッケージ」という仕組みがあります。
パッケージ(package)は、小包という意味があるように、クラスをグループにまとめて分類・管理できるものです。
クラスをパッケージに所属させるためには、クラスのソースコードの先頭にpackage文を記述します。
これによって、Javaが提供しているクラス以外に個人的に作ったクラスは、パッケージを作成しておくと、既存のクラスと簡単に区別できます。
つまり、多くのクラスを使い分けるのに便利だと言えるのです。
パッケージ外のクラスにアクセスする場合は、import文によって対象のクラスの場所を明示します。
java.utilパッケージとは?
JavaのAPIには、数多くのパッケージとクラスが含まれています。
APIのクラスには「java.」または「javax.」で始まるパッケージ名が利用されています。
「java.util」もその中の一つで、プログラミングを便利にする様々なクラス群が含まれています。
util は ユーティリティのことで、英語で「役に立つもの」という意味があります。
java.utilパッケージの使い方
java.utilパッケージを使うには、ファイルで import文 を記述します。
記述方法は、使いたいクラスを指定するか、「*」でutilパッケージに含まれるクラス全てを読み込めばOKです。
■記述例 // ArrayListクラスを使いたい場合 import java.util.ArrayList; // ArrayListも含めた全てのクラスを使いたい場合 import java.util.*;
次の章で、java.utilパッケージでよく使われるクラスを確認しながら、使い方をより詳しく見ていきましょう。
java.utilパッケージのクラスの種類
java.utilパッケージには様々なクラスが含まれていますが、ここではよく使われるクラスをピックアップして紹介します。
- Dateクラス
- Scannerクラス
- Base64クラス
- Propertiesクラス
- ArrayListクラス
Dateクラス
Dateクラスは、日時を取得したり、日時を計算したりする際に利用する日付型のクラスです。
Dateクラスオブジェクトの記述ルールは、下記のようになっています。
Date 変数名 = new Date();
では簡単に、現在の日付を取得するプログラムを動かしてみましょう。
// java.util.Dateクラスをインポートします import java.util.Date; public class Main { public static void main(String[] args) { // Dateクラスのインスタンスを生成 Date date = new Date(); System.out.println("現在の日時を表示します:" + date); } } ■実行結果 mbp:desktop potepan$ java Main 現在の日時を表示します:Sat Feb 27 21:43:57 JST 2021
このように、日時を取得して表示できました。
Dateクラスの使い方については、下記の記事で詳しく解説していますので参考までに。
【関連記事】
▶︎【Java】初心者必見!日付を扱うDateクラスの簡単講座
▶︎【Java】Date型で日付・日時を比較するさまざまな方法を紹介!
Scannerクラス
Scannerクラスは、キーボードから入力された文字を読み取れるクラスです。
取得した標準入力の情報を使って処理を行いたい場合や、対話型のプログラムで利用します。
記述例は次の通りです。
■記述例 // java.util.Scannerクラスをインポートします import java.util.Scanner; public class Main { public static void main(String[] args) { // Dateクラスのオブジェクトを生成 Scanner scanner = new Scanner(System.in); System.out.print("キーボードから入力 > "); //入力された内容をインスタンスから取得 String input_text = scanner.nextLine(); System.out.println("入力されたテキスト:" + input_text); // Scannerクラスのインスタンスを終了 scanner.close(); } } ■実行結果 mbp:desktop potepan$ java Main キーボードから入力 > ポテパンスタイル 入力されたテキスト:ポテパンスタイル
実際にプログラムを動かすと、キーボードでテキストを入力できるはずです。
Base64クラス
Base64クラスは、Base64エンコーディング・スキーム用のエンコーダおよびデコーダを取得するためのstaticメソッドのみで構成されたクラスです。
Base64とは、64種類の英数字で行うエンコード方式のことで、通信などに使用されます。
実際にエンコード・デコードを行うサンプルは下記の通りです。
■記述例 import java.nio.charset.*; // java.util.Base64クラスをインポートします import java.util.Base64; public class Main { public static void main(String[] args) { Charset charset = StandardCharsets.UTF_8; String str = "potepanポテパン228"; // エンコードを行う byte[] byteAry1 = Base64.getEncoder().encode(str.getBytes(charset)); String strEncode = new String(byteAry1, charset); System.out.println("エンコード結果: " + strEncode); // デコードを行う byte[] byteAry2 = Base64.getDecoder().decode(byteAry1); String strDecode = new String(byteAry2, charset); System.out.println("デコード結果:" + strDecode); } } ■実行結果 mbp:desktop potepan$ java Main エンコード結果: cG90ZXBhbuODneODhuODkeODszIyOA== デコード結果:potepanポテパン228
Propertiesクラス
Propertiesクラスは、キーと設定値のペア形式をとることで、設定情報の読み込み・保存ができるクラスです。
Propertiesオブジェクトを作成し、値をいくつか設定して、それをファイルに保存するサンプルコードを見て見ましょう。
■記述例 import java.io.*; // java.util.Propertiesクラスをインポートします import java.util.Properties; public class Main { public static void main(String[] args) throws IOException { Properties settings = new Properties(); // 値を設定 settings.setProperty("author", "potepan style"); settings.setProperty("site", "style.potepan.com"); settings.setProperty("language", "java"); FileOutputStream out = null; try { // sample.propertiesファイルを生成 out = new FileOutputStream("sample.properties"); settings.store(out, "Sample Properties"); } finally { if (out != null) { out.close(); } } } }
実行すると、同じディレクトリに sample.properties ファイルが生成されます。
中身を確認してみると、プログラムで設定したキーと値が記載されているはずです。
■実行結果 #Sample Properties #Sun Feb 28 00:30:17 JST 2021 site=style.potepan.com author=potepan style language=java
ArrayListクラス
ArrayListクラスは、内部的には配列を利用したリスト構造となっており、サイズを後からでも変更できるクラスです。
不定数の要素を配列で扱いたい場合に便利なクラスと言えます。
では、ArrayListクラスを使ったサンプルコードを紹介します。
■記述例 // java.util.ArrayListクラスをインポートします import java.util.ArrayList; public class Main { public static void main(String[] args) { // ArrayListを生成 ArrayList<String> list = new ArrayList<String>(); // データをセット list.add("potepan"); list.add("style"); list.add("java"); // ArrayListを1件ずつ取り出して表示 for (int i = 0; i < list.size(); i++) { System.out.println(i+1 + "つ目の要素:" + list.get(i)); } } } ■実行結果 mbp:desktop potepan$ java Main 1つ目の要素:potepan 2つ目の要素:style 3つ目の要素:java
より詳しく、ArrayListクラスについて知りたい場合は、以下の記事を参考にしてみてください。
【関連記事】
▶︎【Java入門】ArrayListの使い方!配列との違いも解説
まとめ
今回は、java.utilパッケージについて概要や使い方を紹介しました。
java.utilパッケージで使えるクラスには様々なものがあり、実際の開発現場でもよく使うクラスばかりです。
覚えておくとプログラミングする際に役立つものばかりですので、ぜひ本記事を読んだきっかけに使い方をマスターしてくださいね。