作者testUI (测试者)
看板java
标题[问题] Arraylist中物件的用法
时间Thu May 21 20:07:56 2009
最近在写个小程式
首先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
1F:推 kene:把 List<Object> 改成 List<Account> 试试? 05/21 20:24
2F:推 foxpro:((Account) list.get(real_id)).getBalance(); 05/21 22:15
3F:→ testUI:感谢,原来是自己耍蠢...囧 05/21 22:32