LoginSignup
1
1

More than 3 years have passed since last update.

IntelliJでJavaのプレビュー機能(Java 15のRecordなど)の試し方

Last updated at Posted at 2020-10-14

結論

  1. (IntelliJ IDEAの最新版にする)
  2. プロジェクトで当該のJDKを使うように設定
    1. 使いたいJDKをダウンロード
  3. プレビュー機能をオンにする
    1. File>Project Structure>Project Settings>Modules
    2. Language levelで「15(Preview) - Sealed types, records, patterns, local enums and interfaces」を選択

※上記はWindows環境の場合です。Macの場合、Project Structureの開き方がちょっとだけ違います。
※「Ctrl」+「Shift」+「Alt」+「S」でもProject Structureを開くことができます。

環境

  • Windows
  • IntelliJ IDEA Community版(2020.2.2)
  • Open JDK15

詳細手順

1.IntelliJ IDEAの最新版にする

Java 15の新機能の場合、2020.2より新しいIntelliJが必要です。
2020.2のアップデート情報はこちら
もしバージョンが古い場合は以下の方法でアップデートしてください。

自動アップデート

Help>Check for Updates...から自動アップデートができます。
update and restartボタンを押して待てば完了です。
update and restartボタンが表示されない場合、手動アップデートを行ってください。

手動アップデート

こちらから指定のバージョンのファイルをダウンロードしてアップデートすることもできます。
インストールウィザードで古いバージョンを消して設定を引き継ぐか確認があります。

2.プロジェクトで当該のJDKを使うように設定

IntelliJを開き、新規プロジェクトを作成します。
image.png
プルダウンでDownload JDKを選択すると、選択したディストリビューションとバージョンのJDKが、プロジェクトで使用するJDKに設定されます。
image.png
image.png
ここに表示されないアーリーアクセス版などを利用したい場合は各自でダウンロードした後、「Add JDK...」でダウンロードしたJDKを指定してください。(binやlibがあるディレクトリを指定します。)
image.png

3.プレビュー機能をオンにする

File>Project Structure>Project Settings>Modulesを開きます。
image.png
Language levelのプルダウンから使いたい機能に合わせたものを指定します。
今回はrecordsを試すので「15(Preview) - Sealed types, records, patterns, local enums and interfaces」を指定しました。
image.png

もしJava 15の設定が出ない場合はIntelliJのバージョンやJavaのバージョンを再度確認してみてください。

実行してみる

まずRecord classを作ります。

package records;

public record ExampleRecord(String name, int age) {
}

次に実行するMainクラスを作ります。

package main;

import records.ExampleRecord;

public class Main {
  public static void main(String[] args) {
    ExampleRecord exampleRecord = new ExampleRecord("test", 20);
    System.out.println(exampleRecord);
  }
}

実行してみるとこんな感じになります!

{JDK_path}\bin\java.exe --enable-preview "-javaagent:{IntelliJ IDEA_path}\lib\idea_rt.jar=50507:{IntelliJ IDEA_path}\bin" -Dfile.encoding=UTF-8 -classpath {workspace_path}\{project_name}\out\production\record_refrection main.Main
ExampleRecord[name=test, age=20]

ポイントは--enable-previewがオプションとして付与されているところです。
これによりpreview機能であるRecordが利用できます。
以上になります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1