1
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 を返します。理解できません。キーをオブジェクト型として渡しています。

4

0 に答える 0