Java 7、Java 8、Java 11、Java 12の新元号対応アップデートが4月16日に登場予定。オラクルが発表

2019年3月25日

オラクルは、4月1日に発表される予定の新元号に対応するためのJavaのアップデートを、Java 7、Java 8、Java 11(LTS)、Java 12を対象に4月16日にリリースされる予定であることを明らかにしました(日本時間では4月17日になると思われます)。

fig

A new (Japanese) era for Java! | Oracle Java Platform Group, Product Management Blog」から引用します。

After the new era name is released, with the next update release (planned for April 16, 2019), all supported JDK releases: 7, 8, 11 LTS, and 12 will be updated to handle the new era.

新元号の発表後、次のアップデートリリースにおいて(2019年4月16日に予定)、次のすべてのJDKリリース、7、8、11 LTS、12は、新元号を扱うためにアップデートされる。

Javaには、日付関連のjava.util.Calendarクラスと、Java 8以降に追加されたData and Time APIなどで元号を扱うことができます。

下記はjava.util.Calendarクラスを用いた場合のサンプルです。新元号対応のアップデート後は、最後のコメントの部分の「元号」に新元号が入ることになります。また、新元号の「1年」が「元年」になっていることも分かります。

(追記:「元年」表記については「元年表記にはjava.text.DateFormatのFULLスタイルやDate and Time APIのDateTimeFormatterBuilderを使います。参考記事」と、ブックマークでコメントをいただきました)

import java.util.*;
import java.text.*;

new SimpleDateFormat("GGGGy 年M ⽉d ⽇", 
    Locale.forLanguageTag("ja-JP-u-ca-japanese")).

    format(new Calendar.Builder().

    setDate(2019, Calendar.MAY, 1).build().getTime());

//before the update: 平成31 年5 ⽉1 ⽇, 
//after the update: 元号元年5 ⽉1 ⽇

Java 8以降使えるData and Time APIを用いた場合のサンプルが以下。これも「元号」のところに新元号が入ります。

import java.time.chrono.*;
import java.time.format.*;
import java.time.temporal.*;

DateTimeFormatter.ofPattern("GGGGy 年M ⽉d ⽇").

    withChronology(JapaneseChronology.INSTANCE).

    withLocale(Locale.JAPAN).

    format(JapaneseDate.of(2020, 2, 1));

// => “元号2 年2 ⽉1 ⽇”

いずれも新元号から西暦への変換も行えるようになります。

もちろん、Javaが新元号に対応したからといって自動的にアプリケーションが新元号に対応するとはかぎらないので、アプリケーションのコードもあらためて見直す必要があるでしょう。

オラクル以外から提供されているJavaを利用している場合にも、新元号への対応は同様に行われるはずですが、アップデートがいつどのように配布されるかはベンダの体制に依存しますので、それぞれの配布元に確認するようにしてください。

関連記事

Unicodeも新元号が発表され次第、キャラクタが追加されます。これもJavaの新元号対応に反映されることになります。

Tags: Java プログラミング言語

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本