2

map引数としてハッシュを受け入れる API を使用する必要があります。

ただし、マップにキーの値を挿入するたびにログを出力する必要がありました。キーの値は、外部 csv ファイルから読み取ることによって割り当てられます。

例えば、

Map<String,String> myMap = new HashMap<String,String>();

myMap.put("nodeId", myMap.get("nodeIDForCreationOfTrackedAsset"));
myMap.put("templateAssetID", myMap.get("assetIdForServiceHistory"));
myMap.put("seqId", "{{db.WM_TS001.SeqNum}}");
myMap.put("badgeId", "{{db.WM_TS001.BadgeNum}}");
myMap.put("serialId","{{db.WM_TS001.SerialNum}}");

したがって、myMap.put(key,value) を使用するたびに、以下のようなログを外部ファイルに出力する必要があります。

element nodeId is assigned to "value" successfully.
element seqId is assigned to  "value" successfully.
element templateAssetID is assigned to "value" successfully.
element badgeId is assigned to "value" successfully.
element serialId is assigned to "value" successfully.

これを行うための一般的な方法はありますかmyMap.put(key,value)?

4

1 に答える 1

0

これを行う最も明白な方法は、HashMapを拡張してから、myMapを新しいサブクラスのオブジェクトとして宣言することです。例えば:

public class LoggingHashMap<K, V> extends HashMap<K, V> {

    @Overrides
    public V put(K key, V value) {
        Log.i("LOG", "put:" + key + ":" + value;
        return super.put(key, value);
    }
}

Map<String, String> myMap = new LoggingHashMap<String, String>();
于 2012-09-11T17:30:37.797 に答える