java-fundamentals について
Java 8~21 の開発者向け基礎スキルガイドです。構文、オブジェクト指向、コレクション、Streams API、例外処理に加え、コレクション選択や問題調査の参考情報も扱います。
主な機能
- 01Java 8~21 の基本構文
- 02オブジェクト指向と SOLID 原則
- 03コレクション型の選択
- 04Streams API と Optional
- 05例外処理のパターン
活用シーン
- 01慣用的な Java コードの記述
- 02アクセス方法に応じたコレクション選択
- 03Streams によるデータ処理
- 04例外や反復中の変更エラーへの対応
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pluginagentmarketplace/ custom-plugin-java --skill java-fundamentalsインストール後、Claude Code で/java-fundamentalsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/config.yamlschema.jsonreferences/GUIDE.mdPATTERNS.mdscripts/validate.py詳細
Java の基礎スキル
本番品質のパターンを使って、Java プログラミングの基礎を習得します。
概要
このスキルでは、Java 8〜21 の構文、オブジェクト指向プログラミング、コレクション、Streams API、例外処理など、Java の基礎を扱います。
このスキルを使用する場面
次のような場合に使用します。
- クリーンで慣用的な Java コードを書く
- オブジェクト指向プログラミングの原則に従ってクラスを設計する
- 適切なコレクション型を選ぶ
- 関数型プログラミングのパターンを実装する
- 例外を適切に処理する
対象トピック
コア構文(Java 8〜21)
- 変数、データ型、演算子
- 制御フロー、メソッド、クラス
- レコード(Java 16 以降)、シールドクラス(Java 17 以降)
- パターンマッチング(Java 21)
オブジェクト指向プログラミング
- クラス、継承、ポリモーフィズム
- インターフェースと抽象クラス
- SOLID 原則
コレクションフレームワーク
- List:ArrayList、LinkedList
- Set:HashSet、TreeSet
- Map:HashMap、ConcurrentHashMap
- Queue:ArrayDeque、PriorityQueue
Streams API
- filter、map、flatMap、reduce、collect
- Optional の処理
- 並列ストリーム
例外処理
- チェック例外と非チェック例外
- try-with-resources
- カスタム例外
クイックリファレンス
// Record (Java 16+)
public record User(String name, String email) {}
// Pattern matching (Java 21)
String format(Object obj) {
return switch (obj) {
case Integer i -> "Int: %d".formatted(i);
case String s -> "String: %s".formatted(s);
default -> obj.toString();
};
}
// Stream operations
List<String> names = users.stream()
.filter(User::isActive)
.map(User::getName)
.sorted()
.toList();
// Optional handling
String name = Optional.ofNullable(user)
.map(User::getName)
.orElse("Unknown");
コレクションの選択
| 必要な機能 | 使用するもの | 理由 |
|---|---|---|
| インデックスによるアクセス | ArrayList | O(1) のランダムアクセス |
| 一意な要素 | HashSet | O(1) の contains |
| ソート済みの一意な要素 | TreeSet | O(log n) でソート |
| キーと値のペア | HashMap | O(1) の get/put |
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| NullPointerException | null 参照 | Optional を使用する |
| ConcurrentModificationException | 反復処理中に変更 | Iterator.remove() |
| ClassCastException | 型が不正 | ジェネリクスを使用する |
使用方法
Skill("java-fundamentals")
コメント
Markdown 対応