Processingのキャストについて

キャストの必要性についてのコード

キャストの必要性についてのコード

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) という表記をつけるのです。