我使用文件编写器来创建xyz.java
文件。我在其中创建了一个地图,并使用文件编写器连续使用新值更新该地图。
xyz.java
Class xyz{
private HashMap tempMap= new HashMap();
public HashMap getTypeMap(){
tempMap.put("Pqr","stu");
}
}
新更新的xyz.java
将仅更新getTypeMap()方法,并且该类的其他部分将保持不变。
public HashMap getTypeMap(){
tempMap.put("Pqr","stu");
tempMap.put("utr","zyr");
}
我有一个帮助程序类,我通过它更新xyz.java
文件和该类的内部我创建xyz
类的实例并访问map但是获取map值为null。 / p>
class helper{
1.// code to update xyz.java file.
2.// code to create instacne
xyz obj = new xyz();
obj.getTypeMap();
}
但是如果我们调试上面的代码并尝试获取地图,它会给出正确的填充地图。但是如果我们直接运行上面的代码,它会将map作为null。可能是什么原因?
请假设上面是伪代码。不要考虑任何编译问题。
答案 0 :(得分:0)
getTypeMap()应返回类似public HashMap getTypeMap(){return...}
的内容。目前它是无效的类型。
我注意到你的xyz.java中没有方法getMap()。这是一个错字吗?应该是obj.getTypeMap()
class helper{
1.// code to update xyz.java file.
2.// code to create instacne
xyz obj = new xyz();
HashMap result = obj.getTypeMap();//
}
Class xyz{
private HashMap tempMap= new HashMap();
public HashMap getTypeMap(){
tempMap.put("Pqr","stu");
return this. tempMap;
}
}