Javaの歴史
☆ Javaの歴史
JDK1.0→JDK1.1
→(大幅改良 文法の拡張やAPIの追加)J2SE1.2→J2SE1.3→J2SE1.4
→(大幅改良) J2SE5.0(1.5)→J2SE6.0(1.6)→J2SE7.0(1.7)
//大掛かりな改良だったため、1.5ではなく5.0を使うことになった
⇩
〈1.4以前のJavaでは何が使えないのか〉
① 拡張for文が利用できない
② さまざまなデータ構造を扱うAPI〈コレクションフレームワーク〉が
利用出来ない
ex ArrayList<String>
//ジェネリクス(山ガッコを用いたクラスの表記が可能)
このAPIを使うと、ArrayListに指定した型のインスタンスしか格納できないように指定出来る
これが利用出来ないので、
同じ方法を使いたい場合は以下のようにキャスト演算子を使って強制型変換をしないといけない
ArrayList list=new ArrayList( );
list.add("こんにちは");
String s=(String)list.get(10); //キャストを使い強制的に型を変換させる
③ AutoBoxing/AutoUnboxingが利用出来ない
↑基本データ型とラッパークラス間で自動的に型変換を行ってくれるクラス
これが利用出来ないので、
~Value( )メソッドやvalueOf( )メソッドを用いて明示的に相互変換を行う必要がある
④ java.util.Scannerが利用出来ない
↑画面から文字入力ができるクラス
これが利用出来ないので、
次のようにコードを記述し、画面から文字入力が出来るように指定する必要がある
import java.io*. ;
public class Main{
public static void main(String[ ] args) throws Exception{
BufferedReader br=new BufferedReader(new InputStream Reader(System.in));
System.out.println("何か入力してください");
String s=br.readLine( ); //1行読み込む
System.out.println("あなたの入力:"+s);
}
}
※ コード記述簡略化のためにここではmainメソッドにthrows Exceptionを追加しているが、実際にはtry-catchを用いた例外ハンドリングを行う必要がある