キャストの必要性についてのコード
キャストの必要性についてのコード
ArrayList list = new ArrayList();//ArrayListという配列の拡張版のようなものを使います。 list.add("a");//配列に文字列つまりString型のオブジェクトを入れます //String a= list.get(0);//エラーです。listからgetするとObject型で取ってきますので型が合わない為です。 String a= (String)list.get(0);//0番目の要素を取得、String型でキャストします。 print(a); //Stringクラスには親のクラスがあり、それはObjectクラスです。 //list.add()はObject型を入れることができますので、オブジェクトなら何でも入れることができます。すべてのクラスはObjectの子になっています。 // プリミティブ型(int,long,float,double,char,boolean)はクラスではないので入れることはできません。 //list.get()はObject型出取り出せます。 //String a;に代入する際にはString型かその子のクラスしか入れることができません。 //なので、Objectとして取り出したけど、実はStringなんだよということを明示するために(String) という表記をつけるのです。