在访问HashMap中的数据时遇到问题。它是在一个类中创建的,并且是从另一个类中调用的。见下文;
创建
public class LoadDatabase {
public Map virusDatabase = new HashMap();
...
public void toHash(String v_Name, String signature) {
virusDatabase.put(v_Name, signature);
}
...
public void printDatabase() { // This method is displaying correct data, so is being stored.
Iterator iterator = virusDatabase.keySet().iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
System.out.println(key + " = " + virusDatabase.get(key));
}
}
...
}
需要访问
public class LCS {
LoadDatabase lb = new LoadDatabase();
Tokenizer T = new Tokenizer();
...
public void buildDataLCS(String[] inTokens) {
Iterator iterator = lb.virusDatabase.keySet().iterator();
...
while (iterator.hasNext()){
String key = (String) iterator.next();
String v_sig = (String) lb.virusDatabase.get(key);
System.out.println(v_sig); //Example of problem, nothing printed
...
}
...
}
为什么会出现问题?你能指出我正确的方向吗?
答案 0 :(得分:4)
两个问题中的任何一个,
你没有放任何东西。因为我看不到你对toHash(String v_Name, String signature)
方法的调用。
您正在以某种方式使用LoadDatabase
类的2个不同实例。尝试制作LoadDatabase
单身。
答案 1 :(得分:1)
卡洛斯
我怀疑你没有把你认为放在地图中的东西放在地图上,或者你输入数据时的密钥与你取出值时的密钥不同。我会记录/打印你输入的键/值,然后记录/打印你试图离开的键/值。