会社で上司から「お前Java書けるんだよな?」と聞かれると必ず「書けます」と回答します。
しかしその後心の中で付け加えます。(ただしすごい古いバージョンのJavaだけれど・・・)
自分が大学で勉強していた当時のJavaのバージョンはJ2SE 5.0。
Javaの勉強を始めたばかりのころ、1.4からバージョンアップしたため、自分は「Java1.5」と呼んでいたはずです。
しかしあれから10年以上経ち、いつの間にか最新版はJava SE 8になっていました。さらに来年にはJava SE 9がリリースされると聞きます。
30億デバイスで動作するJavaは後方互換性がウリです(と同時に批判される特徴でもあります)。
過去のバージョンで書かれたソースコードが最新のJavaでも動作します。
ただし、『書かれたコードが動作する』と『そのように実装されることが推奨される』は別の話です。
また、Javaもその歴史の中で時代に合わせて、生産性向上のために、あるいは時代のニーズに応える為に、新機能、新概念が追加されてきました。
現在の自分の知識でも仕事でJavaのプログラムを書くことに不都合は無かったのですが、せっかく新しい機能が追加されてきたのだから、それらを使ったほうがコードも明瞭簡潔、メンテしやすいものが書けるのではないか。
そして何より自分の知識を古いままにしておくのは恥ずかしいと思い、このゴールデンウィークを利用してJava5~Java8までに追加された機能について勉強することにしました。
僕と同じように**「Javaは昔に勉強したきりだけれども、今はどのような機能が追加されているのだろう」**という人のためにこの記事を書きました。
そのため、Javaの基本やクラスやメソッドなどの説明は今回はしません。
「え~、知らないの~?」って言われたくなーい (この元ネタが分かる人は30歳前後とみました)
今回の学習では田中裕一さんのJava最強リファレンスを使用しました。
「Javaの基本は分かっているけれど、そこから先になると怪しいというか書いた経験がない」という人にとって知りたい情報がコンパクトにまとめられています。
他にも参考リンクを貼っていないリンクを含め、様々なホームページを勉強の参考資料とさせてもらいました。ありがとうございました。
今更人に聞けないJava5からの新機能(J2SE 5.0)
今更人に聞けないJava5からの新機能(Java SE 7)
今更人に聞けないJava5からの新機能(Java SE 8)
この記事は自分の学習を主目的として書いたため、間違いが書かれているかもしれません。間違いを見つけた場合、ぜひコメントで指摘をいただきたいのです。よろしくお願いします。