java6はサポート終了! 最新版へ移行しよう

こんにちは!フリーランスの長野です。

Javaの新機能って使いこなせていますか?

Javaはこれまで3、4年に1回新しいバージョンをリリースしてきました。

しかし、現在(2018/7/12)の最新バージョンJava10からは6ヶ月おきに新しいバージョンをリリース予定です。

※現時点では、2018年9月25日にリリースされたJava11が最新です。

新しいバージョンがリリースされる度に新機能が追加されています。

しかし、初心者の方々から

「最新バージョンじゃなくてJava6を使っていてもいいの?」

「Java6時点で追加された機能が知りたい」

「どんな場面で使えるの?」

といったお困りの声をお聞きします。

そこで、今回は初心者向けに過去にさかのぼって2006年12月11日にリリースされたJava6の新機能をわかりやすく解説します!

この記事では、Java6の新機能について


・そもそもJavaとは?
・Java6を使い続けて良いのか?
・Java6の新機能一覧
・Java6の環境構築

という基本的な内容から

・Arraysのメソッド追加
・コンソールでのパスワード利用

など応用的な内容についても解説していきます。

今回はJava6の現状と新機能について、使い方をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

目次

そもそもJavaとは?

Java6の説明に入る前に、まずはJavaについて簡単におさらいしておきましょう。

Javaは1990年代にSun Microsystemsが開発・発表したオブジェクト指向という考え方を取り入れた言語です。

2010年にOracleが買収し、Oracle製品の1つになりました。

Javaは家電やモバイル機器を始めとして、多くのデバイスに搭載されています。

国内でもスマートフォンなどに搭載されていて、アプリ開発を行うにはJava言語を使って開発することになります。

2006年12月にリリースされたJava6では今ではよく使われている機能も新しく追加されているので、その新機能について解説していきます。

これまでのJavaについては、こちらのサイトでも詳しく解説していますので、ぜひ参考にしてください。

Java6はサポート終了!最新へ移行しよう!

Java6のサポートは2013年2月にリリースされたアップデートをもってサポートも終了しています。

サポートが終了しているということは…

何かセキュリティの問題が見つかったとしても、修正が行われないということです。

当たり前ですが、古くてサポートされていないバージョンをシステム上に残しておくと、重大なセキュリティ・リスクが生じます。

現時点でもJava6を使っている人は、あえて使っている人でもない限り、速やかに最新のJavaへ移行しましょう。

ただしバージョンをあげた際に、バージョンの仕様変更により不具合が出る可能性も大いにあります。

バージョンをあげる場合は、簡単にあげたりとせず、しっかりとデバッグ期間を設けた上で移行作業を行いましょう。

Java6の新機能一覧

Java6のリリースとサポート

Java6は2006年12月11日に正式リリースされました。

2011年7月28日には次のバージョンJava7がリリースされました。

また先ほども書きました通り2013年2月にリリースされたアップデートをもってサポートも終了しています。

まだ使用している人は、最新のバージョンへ速やかに移行することをお勧めします。

新機能一覧

それではJava6で追加された新機能について解説していきます。

ここではよく使われると思われる代表的な2つの新機能について簡単に解説します。

2つの新機能について簡単にまとめました。

新機能説明
Arraysのメソッド追加copyOf、copyOfRangeメソッドの追加
コンソールでのパスワード利用Consoleクラスが追加され、パスワードを表示させずに入力が可能

またそのほかにも、以下の機能なども合わせて追加されています。

スクリプティング機能の導入
ネイティブ・デスクトップとの統合
国際化対応の強化
XML 近辺の機能の強化
管理機能の改善
コア・ライブラリの改善

Java6の環境構築

Java6の新機能を確認するには最新バージョンのJava10の開発環境でも可能です。

Java10の開発環境の構築については、こちらで詳しく解説しています。

ぜひ参考にしてください。

しかし、業務の都合上開発環境を合わせるためにどうしてもJava6での開発環境を構築しなければならない場合もあるかと思います。

ですので、Java6での開発環境の構築についても説明しておきます。

ダウンロードとインストール

Oracleでは現在パブリック・ダウンロード・サイトにJava6のアップデートを公開していません。

ですので、Javaアーカイブからダウンロードする必要があります。

「Java SE 6」をクリックします。

http://www.oracle.com/technetwork/java/javase/archive-139210.html

ラジオボタン「Accept License Agreement」をチェックし、OSを選択してダウンロードしましょう!

インストールについては、Java8リリース時と大きく変わりません。

こちらのサイトで詳しく解説していますので、参考にしてください。

バージョンダウン

Java6にバージョンダウンするためには現在のJavaのバージョンを削除する必要があります。

Javaをアンインストールできたら、前章のダウンロードの方法を参考にしてJava6をインストールしてください。

Windows 10-プログラムのアンインストール
1.「スタート」をクリックします。
2.「設定」を選択します
3.「システム」を選択します
4.「アプリと機能」を選択します
5.アンインストールするプログラムを選択し、「アンインストール」ボタンをクリックします。
6.プロンプトに従って、アンインストールを完了します

公式参考サイト
https://java.com/ja/download/faq/remove_olderversions.xml

もし、Java6とそれ以降のバージョンを複数で切り替えて使用しなければならない場合は、バージョンを切り替える方法をこちらで説明しています。

ぜひ参考にしてください。

Eclipseでの利用

こちらのサイトで解説しているPleiadesでもJava7の開発環境も自動構築することができます。

Pleiadesの環境が構築できたらJavaのプロジェクトを新規作成するときに「JavaSE-1.6」を選択してください。

これでJava6を使うことができます。

Arraysのメソッド追加

java.util.ArraysクラスにcopyOfメソッドとcopyOfRangeメソッドが追加されました。

copyOf

copyOfメソッドは指定された配列をコピーし、そのコピーが指定された長さになるように必要に応じて切り詰めます。

配列の要素数を変更したい場合などで使うと便利です。

import java.util.Arrays;

public class Java6Sample {
    public static void main(String[] args) {
        String[] cities = {"Tokyo", "Osaka", "Nagoya"};

        String[] newCities = Arrays.copyOf(cities, 5);
        for (String city : newCities) {
            System.out.println(city);
        }
    }
}

実行結果:

Tokyo
Osaka
Nagoya
null
null

copyOfRange

copyOfRangeメソッドは範囲を指定して配列の一部をコピーすることができます。

import java.util.Arrays;

public class Java6Sample {
    public static void main(String[] args) {
        String[] cities = {"Tokyo", "Osaka", "Nagoya"};

        String[] newCities = Arrays.copyOfRange(cities, 1, 3);
        for (String city : newCities) {
            System.out.println(city);
        }
    }
}

実行結果:

Osaka
Nagoya

配列のコピーについては、こちらでも詳しく解説していますので、ぜひ参考にしてください。

コンソールでのパスワード利用

java.io.Consoleというコンソール用の入出力クラスが追加されました。

System.inを使ってパスワードを入力することは可能ですが、パスワードが丸見えになってしまいます。

Consoleクラスを使うとパスワードを隠して入力することができます。

パスワードの入力にはreadPasswordメソッドを使います。

import java.io.Console;

public class Java6Sample {
    public static void main(String[] args) {
        Console console = System.console();
        char[] password = console.readPassword();
        System.out.println(password);
    }
}

実行結果:

コマンドで実行し、キーボードから入力しても表示されていません。

まとめ

今回はJava6で追加された主な機能について解説してきましたが、いかがでしたか?

ArraysクラスでcopyOfメソッドやcopyOfRnageメソッドなどの追加がありました。

これらの機能を使いより楽をして品質の高いコードをかけるといいですね!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次