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メソッドなどの追加がありました。

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

この記事を書いた人

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
info@sss-lab.com

目次