У меня есть следующий фрагмент кода:
private static HashMap<String, TestObject> labelHash= new HashMap<String, TestObject>();
private static HashMap<String, TestObject> valueHash= new HashMap<String, TestObject>();
private HashMap getChildrenInHash(int opt){
// HashMap labelHash= new HashMap();
// HashMap valueHash= new HashMap();
if (valueHash.isEmpty() && labelHash.isEmpty()) {
if(getLabel().isShowing()){
TestObject[] tempArray = getLabel().getMappableParent().getMappableChildren();
for(int i =1; i < tempArray.length-2;i++){
if(tempArray[i]==null)
break;
if(tempArray[i].getProperty("text").toString().compareTo(" ")==0){
i+=1;
}
labelHash.put((String)tempArray[i].getProperty("text"),(tempArray[i]));
valueHash.put((String)tempArray[i].getProperty("text"),(tempArray[i+1]));
i+=2;
}
//System.out.println("finished filling the hashes");
}
}
}
if(opt ==1)
return labelHash;
else
return valueHash;
}
Я использую этот метод, чтобы вначале заполнить хеш-карты, а затем, в конечном итоге, получить значения из него позже, но проблема в том, что значения, в которые я попадаю, больше не существуют для извлечения (не все, но некоторые)? так, что происходит ? как они теряются, я проверил с помощью отладчика и видел значения одно за другим при вставке, но когда извлекается, больше не существует никаких мыслей?