Java よく使うクラスライブラリ

Javaは豊富なクラスライブラリを提供しています。以下は最もよく使われるクラスの一部です。

1. コア Java クラスライブラリ

Java標準ライブラリは豊富な組み込みクラスライブラリを提供しています。以下はよく使われるコアクラスライブラリの一部です:

カテゴリ クラスライブラリ名 主な機能
コレクションフレームワーク java.util.ArrayList 動的配列の実装
java.util.LinkedList 双方向リンクリストの実装
java.util.HashMap ハッシュテーブル実装のMap
java.util.Vector 動的配列を実装
java.util.HashSet ハッシュテーブルベースのSet
java.util.Scanner ユーザー入力の取得
java.util.regex.Pattern 正規表現
java.util.regex.Macher 正規表現
IO/NIO java.io.File ファイルとディレクトリ操作
java.nio.file.Files ファイル操作ユーティリティクラス
java.io.InputStream バイトストリーム基本クラス
java.io.OutputStream バイトストリーム基本クラス
マルチスレッド java.lang.Thread スレッド操作クラス
java.util.concurrent.ExecutorService スレッドプール管理
日付時刻 java.time.LocalDate 日付処理
java.time.LocalDateTime 日付時刻処理
java.time.ZonedDateTime タイムゾーン付きの日付と時刻
java.util.Date 現在の日付
java.text.SimpleDateFormat 日時フォーマット
java.util.Calendar 日時の処理
java.util.GregorianCalendar グレゴリオ暦を実装
java.time.Instant 時間軸上の瞬間的な点を表す
java.time.ChronoUnit 時間を測定するための標準単位
java.time.Period 2つの日付の間の時間間隔を表す
java.time.Duration 時間ベースの期間(時間、分、秒、ナノ秒)を表す
ネットワークプログラミング java.net.URL URL処理
java.net.Socket ソケットプログラミング

2. よく使うサードパーティライブラリ

以下はJavaエコシステムで広く使用されているサードパーティライブラリです:

カテゴリ ライブラリ名 主な機能 公式サイト
JSON処理 Jackson JSONシリアライズ/デシリアライズ https://github.com/FasterXML/jackson
Gson GoogleのJSONライブラリ https://github.com/google/gson
ユニットテスト JUnit Javaユニットテストフレームワーク https://junit.org/junit5/
Mockito Mockテストフレームワーク https://site.mockito.org/
ログ記録 Log4j ログ記録フレームワーク https://logging.apache.org/log4j/
SLF4J ログファサードフレームワーク https://www.slf4j.org/
Web開発 Spring Framework エンタープライズアプリケーションフレームワーク https://spring.io/projects/spring-framework
Spring Boot 高速アプリケーション開発フレームワーク https://spring.io/projects/spring-boot
データベース Hibernate ORMフレームワーク https://hibernate.org/
MyBatis SQLマッピングフレームワーク https://mybatis.org/mybatis-3/
ビルドツール Maven プロジェクトのビルドと依存関係管理 https://maven.apache.org/
Gradle 柔軟なビルドツール https://gradle.org/

3. 適切なクラスライブラリの選び方

3.1 評価基準

  1. 機能要件:まずプロジェクトに必要な機能を明確にする
  2. コミュニティサポート:活発なコミュニティはより良いサポートとドキュメントを意味する
  3. パフォーマンス:パフォーマンスに敏感なアプリケーションでは特に考慮が必要
  4. 学習曲線:チームの学習コストを考慮する
  5. メンテナンス状態:プロジェクトがまだ積極的にメンテナンスされているか確認する

3.2 バージョン選択の推奨事項

  • LTS(長期サポート)バージョンを優先的に選択する
  • メンテナンスが停止しているバージョンの使用を避ける
  • 新しいプロジェクトではより新しい安定版を検討できる

4. 使用例

4.1 Jacksonを使用してJSONを処理する

例

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonExample {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            // オブジェクトをJSONに変換
            String json = mapper.writeValueAsString(new User("张三", 25));
            System.out.println(json);
           
            // JSONをオブジェクトに変換
            User user = mapper.readValue(json, User.class);
            System.out.println(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4.2 JUnitを使用してユニットテストを行う

例

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calc = new Calculator();
        assertEquals(5, calc.add(2, 3));
    }
}
その他の拡張