Java 9 - 新機能:初学者のための包括ガイド
こんにちは、Java開発者の志願者たち!Java 9の新しい機能を一緒に楽しく探求するガイドとして、私はとても兴奋しています。Javaを多くの年間教えてきた者として、このバージョンにはゲームチェンジの改善が含まれていると保証できます。では、一緒にこれらの機能を見てみましょう!
Java 9の紹介
新しい機能に詳しくなる前に、まずJava 9とは何かを理解するために少し時間を取ってみましょう。2017年9月にリリースされたJava 9は、コードをより効率的に楽しくするいくつかの強化を導入しました。まるで新しい道具が詰まった輝く新しい工具箱を手に入れたようなものです!
モジュールシステム
Java 9で最も重要な追加之一は、モジュールシステム、別名プロジェクトJigsawです。あなたが何を思っているか知っています - 「モジュール?それは複雑そうだ!」でも、心配しないでください。実際には、コードをよりよく整理する素晴らしい方法です。
モジュールとは?
モジュールをコードのコンテナと考えてください。すべてが場所を整然と持つ整理されたクローゼットを持っているようなものです。各モジュールには以下のものがあります:
- 名前
- パッケージのセット
- 必要なもののリスト(依存関係)
- 他のモジュールに提供するもののリスト
簡単な例を見てみましょう:
module com.myapp {
requires java.sql;
exports com.myapp.api;
}
この例では、com.myapp
という名前のモジュールを作成しています。java.sql
モジュール(データベース機能が必要なため)を必要とし、com.myapp.api
パッケージをエクスポート(他のモジュールが使用できるように)しています。
REPL(リード-エval-プリントループ)
Java 9では、JShellというREPLツールが導入されました。REPLが何か不思議に思うかもしれません。Javaと会話をしているかのように、コードのスニペットをタイプして即座に応答を得る thingを思い浮かべてください。それがREPLです!
JShellを始めるには、コマンドプロンプトにjshell
と入力します。簡単な例を試してみましょう:
jshell> System.out.println("Hello, Java 9!")
Hello, Java 9!
それ、すごいですね?フルプログラムを作成することなくJavaコードを実行しました!アイデアを試すや新しい概念を学ぶのに完璧です。
改善されたJavaDocs
ドキュメントは面白いとは思わないかもしれませんが、良いドキュメントは開発者の最高の友達です。Java 9では、検索機能とHTML5サポートが追加されたことで、JavaDocsがさらに良くなりました。
コレクションファクトリメソッド
Javaでのコレクションの作成がより簡単になりました!Java 9では、コレクションのための新しいファクトリメソッドが導入されました。 immutableリストを作成する方法を見てみましょう:
List<String> fruits = List.of("Apple", "Banana", "Cherry");
System.out.println(fruits);
出力:
[Apple, Banana, Cherry]
これは旧来の方法よりも遥かにクリーンです。冗長なArrayListの作成と要素の順次追加が不要になりました!
インターフェース内のプライベートメソッド
Java 9では、インターフェース内にプライベートメソッドを持つことができます。これは少し抽象的かもしれませんが、例を見てみましょう:
public interface MyInterface {
private static void privateMethod() {
System.out.println("これはプライベートメソッドです");
}
default void publicMethod() {
privateMethod();
System.out.println("これはパブリックメソッドです");
}
}
この例では、privateMethod()
はインターフェース内でのみ使用できます。インターフェースが知っている秘密のヘルパーを持つ thingです!
ストリームAPIの改善
Java 8で導入されたストリームAPIは、Java 9でもさらに良くなりました。 coolな追加の oneはtakeWhile()
メソッドです。動作を見てみましょう:
List<Integer> numbers = List.of(2, 4, 6, 8, 9, 10, 12);
List<Integer> evenNumbers = numbers.stream()
.takeWhile(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println(evenNumbers);
出力:
[2, 4, 6, 8]
このコードはリストの数が偶数である間取り出し、奇数(9)に達すると停止します。これはすごいですね?
Try-With-Resourcesの改善
Java 7で導入されたtry-with-resourcesは、Java 9でさらに改善されました。今、finalまたは効果的にfinalな変数を使用してtry-with-resources文を作成できます。以下に例を示します:
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
try (reader) {
// readerを使用
} catch (IOException e) {
e.printStackTrace();
}
これによりコードがクリーンで読みやすくなります。部屋を片付ける thingのように、すべてがより良くなります!
結論
私たちはJava 9が提供するものの表面をほんの少ししか擦り合わせていません。プロセスAPIの改善、新しいバージョニングスキーム、HTTP/2クライアントなど、多くの機能があります。Javaの旅を続ける中で、これらの機能がコードライフをより簡単で楽しくする methodを発見するでしょう。
覚えておいてください、学ぶ最良の方法は実践です。IDEを立ち上げ、JShellを始めて、これらの新しい機能を試してみてください。間違えを恐れずに - それが私たちが学び、成長する developerとしての方法です。
未来のJavaエキスパートたち、ハッピーコーディング!?????
Credits: Image by storyset