JDK

Java 14 新機能(1)

3月17日にJava14がリリースされました。早速ダウンロードして試してみます。

まずは,一番簡単な機能から試そうと,テキストブロックというものを使ってみます。これはヒアドキュメントのようなもので,複数行に渡る文字列をそのままソースコードに書けるというもの。次のようなプログラムを書いて,コマンドラインでjavac TextBlockと打つと,なんと

TextBlock.java:3: エラー: テキスト・ブロックはプレビュー機能であり、デフォルトで無効になっています。

と仰せです。

 言われた通りにjavac –enable-preview TextBlock.javaと打ってみます。すると

エラー: –enable-previewは-sourceまたは–releaseとともに使用する必要があります

と叱られました。懲りずに,もう一度言われた通りにjavac –enable-preview -source 14 TextBlock.javaと打って,ようやくコンパイルできました。警告が出ましたが,とりあえず無視して先に進みます。

public class TextBlock
{
    private static final String text = “””
            <html>
                <head>
                </head>
                <body>
                </body>
            </html>”””;
    public static void main(String[] args)
    {
        System.out.println(text);
    }
}

コンパイルができたので,java TextBlockと打って実行します。すると

エラー: メイン・クラスTextBlockのロード中にLinkageErrorが発生しました

というエラーメッセージ。英語でTry running with ‘–enable-preview’と書かれていたので,javaコマンドにも–enable-previewオプションをつけて実行し,ようやく期待していた出力が得られました。

要するに,まだ正式な機能ではないからきちんと動かなくても知らないよということでしょう。