###前提・実現したいこと
double型をint型にキャストするときは
double a = 1.0;
int b = (int)a;
のようにdouble型を整数にして代入するということで理解できるのですが
classの場合
classA A = (classA)B;
の場合Bをどういう変換をしてAにしているのかその過程がわかりません。下の問題がわからず調べているうちに疑問になりました。イメージとしてわかりやすい方法がなにかあれば教えていただけないでしょか?よろしくお願いいたします。
エラーメッセージ
###該当のソースコード
java
11.EmailListのclass 2 3public class EmailList { 4 String id; 5 String name; 6 String email; 7 8 public EmailList(String id,String name,String email){ 9 this.id = id; 10 this.name = name; 11 this.email = email; 12 } 13 14 public String toString(){ 15 return "[" + id + ", " + name + ", " + email + "]"; 16 } 17} 182.emailObjectの内容 19Map emailObject = new Map(); 20final String[][]EMAIL_LIST = { 21 {"0101","丸野","maruno@abc.co.jp"} 22 ,{"0201","山田","yamada@def.com"} 23 ,{"0202","鈴木","suzuki@def.com"} 24 ,{"0102","佐藤","sato@abc.co.jp"}}; 25 for(int i=0;i<EMAIL_LIST.length;i++){ 26 emailObject.put(EMAIL_LIST[i][0],new EmailList(EMAIL_LIST[i][0],EMAIL_LIST[i][1],EMAIL_LIST[i][2])); 27 } 283.問題の箇所 29 30EmailList el = (EmailList)emailObject.get(id);
###試したこと
ソースコードは問題の一部で
1はキャストするclass
2はMapのemaliObjectの中に3つの値を4行分入れています。
3が問題でidをキーとして値を返しているのはわかるのですがEmailListでキャストしていることがどういう意味を持っているのかわかりません。
調べているとclassのキャストはスーパークラスとサブクラスのように同じフィールドとメゾットがないとできないとだけ理解しましたがemailObject.get(id)の部分はフィールドなのかメゾットなのかわかりません。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/24 03:46
2017/12/24 06:06
2017/12/24 09:07