我Constant.g()
静态函数描述如下:
public class Constant {
private static Properties constantConfig;
public static String g(String property) {
try {
if(constantConfig == null) {
constantConfig = new Properties();
constantConfig.load(new FileInputStream(System.getProperty("user.dir") + "/" +
"constants.properties"));
}
} catch (IOException e) {
e.printStackTrace();
}
return constantConfig.getProperty(property);
}
}
我有一个json,我将其转换为如下地图:
Map data = (new ObjectMapper()).readValue(json, HashMap.class);
然后我观察到以下行为:
Constant.g("user_id") // this returns String "userId" successfully
data.get("userId") // This also works fine and return value correctly
但代码返回null
:
data.get(Constant.g("user_id"))
这可能是equal()
和HashCode()
问题。我该如何解决这个问题?