[問題] Arraylist中物件的用法

看板java作者 (測試者)時間15年前 (2009/05/21 20:07), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/1
最近在寫個小程式 首先Arraylist式宣告成像這樣是存Object樣子 List<Object> list = new ArrayList<Object>(); 而我程式是如果有人CALL要新增帳戶,那我就New一個新的帳戶物件出來, 並放到list中,如下 public int add(String name, float balance,float rate) throws java.rmi.RemoteException { id_tmp++; Account acc_tmp = new Account(name,balance,rate,id_tmp); list.add(acc_tmp); 但我在其他函式,如要拿出list中的物件並對他作一些資料比對時 編譯器卻跟我說存進去的物件沒有這個方法 囧 EX: 物件的宣告如下: class Account { private String name; // 名稱 private float balance; // 餘額 private float rate; // 利率 private int id; // ID Account(String name, float balance,float rate,int id) { this.name = name; this.balance = balance; this.rate = rate; this.id = id; } public int getId() { return id; } public String getName() { return name; } public float getBalance() { return balance; } public float getRate() { return rate; } public int setId(int id) { this.id = id; id++; return 1; } public int setBalance(float amount) { this.balance = amount; return 1; } 在其他地方呼叫的樣子: //顯示餘額 public float get_balnace(int id) throws java.rmi.RemoteException { int real_id = id-1; float balance_tmp=0; balance_tmp =list.get(real_id).getBalance(); //這樣會錯 return balance_tmp; }is.name = name; 請問是Arraylist本來就不能這樣用,還是我寫法有錯呢? 想說把物件都存在陣列理會比較好管理 但是不管是存傳統的陣列還是Arraylist都沒辦法用裡面的方法 很困擾 先謝謝大家回答了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.139.207

05/21 20:24, , 1F
把 List<Object> 改成 List<Account> 試試?
05/21 20:24, 1F

05/21 22:15, , 2F
((Account) list.get(real_id)).getBalance();
05/21 22:15, 2F

05/21 22:32, , 3F
感謝,原來是自己耍蠢...囧
05/21 22:32, 3F
文章代碼(AID): #1A5KGTjO (java)