package nimit.bank;
import java.util.HashMap;
public class MDB {
public final static int entityCustomer=1;
public static HashMap<Object, Object> hmapCustomer = new HashMap<Object, Object>();
public final static int entityAccount=2;
public static HashMap<Object, Object> hmapAccount = new HashMap<Object, Object>();
public final static int entityBank=3;
public static HashMap<Object, Object> hmapBank = new HashMap<Object, Object>();
public static Object get(int entity,Object key) {
Object obj=null;
switch(entity){
case entityCustomer: obj=hmapCustomer.get(key);
break;
case entityAccount: obj=hmapAccount.get(key);
break;
case entityBank: obj=hmapBank.get(key);
break;
}
return obj
}
public static void put(int entity, Object key,Object obj ){
switch(entity){
case entityCustomer: hmapCustomer.put(key,obj);
break;
case entityAccount: hmapAccount.put(key, obj);
break;
case entityBank: hmapBank.put(key,obj);
break;
}
}
}
これは銀行の例で、ハッシュマップを使用してデータを保存します。以下のように Customer.java クラスを作成しました。
パッケージ nimit.bank;
public class Customer {
private String name;
private String address;
private long phone_no;
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public long getPhone_No() {
return phone_no;
}
public Customer(String _Name, String _Address, long _phone) {
name = _Name;
address = _Address;
phone_no = _phone;
}
}
データを入力して取得する BankController.java クラスを作成しました。
パッケージ nimit.bank;
public class BankController {
public static void main(String[] args) {
Customer C = new Customer("nimit", "Jane Street", 26711610);
Object key = 54321;
MDB.put(MDB.entityCustomer, key, C);
System.out.println(MDB.get(MDB.entityCustomer, key));
}
}
私の疑問は、System.out.println(MDB.get(MDB.entityCustomer,key)); です。出力として null を返します。理解できません。キーをオブジェクト型として渡しています。