我添加了一些鍵值對的散列映射。在我添加鍵值對之後,當我打印hashmap的大小時,我得到的大小爲1.當我在另一個地方打印值(向key-hashmap添加值之後)時,我得到大小爲hashmap爲零。我不會從這個類或任何其他外部類中刪除添加到此散列表的值。那麼,散列圖大小如何變爲零?有人可以解釋嗎?值自動從散列映射中刪除
任何幫助表示讚賞。
代碼在這裏:
private HashMap <Context,BLEEventListeners> mHashMapCallbacks = new HashMap<Context,BLEEventListeners>();
public void startTimeServer(BLEEventListeners eventListener,Context context) {
mHashMapCallbacks.put(context, eventListener);
Log.d(TAG,"****Inside startTimeServer,mHashMapCallbacks size: " +mHashMapCallbacks.size());// I get 1 as size
Intent cmn_intent = new Intent(IServerCommon.class.getName());
Intent time_intent = new Intent(ITimeServer.class.getName());
mContext.bindService(time_intent, time_connection, Context.BIND_AUTO_CREATE);
mContext.bindService(cmn_intent, cmn_connection, Context.BIND_AUTO_CREATE);
}
private ICommonResultCallback callback = new ICommonResultCallback.Stub() {
public void receiveMessage(Bundle value) throws RemoteException {
Log.d(TAG,"****Inside connected,mHashMapCallbacks size: " +mHashMapCallbacks.size());// I get 0 as size
}
}
你'mHashMapCallbacks'領域不是一成不變的。你確信你的班級的同一個實例*正在打印零消息嗎? –
是在'receiveMessage()'之前調用'startTimeServer()'。 – PermGenError
ICommonResultCallback.Stub - 這是一個靜態的內部類?如果是這樣,那麼它不能訪問外部類變量 –