こんにちは!フリーランスの長野です。
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メソッドなどの追加がありました。
これらの機能を使いより楽をして品質の高いコードをかけるといいですね!