Java Intellij Idea中使用HashMap设置的密钥错误

Java Intellij Idea中使用HashMap设置的密钥错误,java,debugging,intellij-idea,hashmap,Java,Debugging,Intellij Idea,Hashmap,以下是我的功能: public static String uploadImageViaHttpPost(HashMap<String,String> keyParams){ String in="Image Uploaded Successfully!!"; try { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(keyParams

以下是我的功能:

public static String uploadImageViaHttpPost(HashMap<String,String> keyParams){

    String in="Image Uploaded Successfully!!";
    try {
        HttpClient client = new HttpClient();
        PostMethod method = new PostMethod(keyParams.get("fbImgPostURL"));

        //Add any parameter if u want to send it with Post req.
        method.addParameter("accessToken", keyParams.get("accessToken"));
        method.addParameter("url",keyParams.get("imageURL"));
        method.addParameter("message",keyParams.get("message"));

        int statusCode = client.executeMethod(method);

        if (statusCode != -1) {
            in = method.getResponseBodyAsString();
        }

        System.out.println(in);

    } catch (Exception e) {
        e.printStackTrace();
    }
    return in;
}
publicstringuploadimage(URL图像、字符串消息)引发异常{
HashMap paramArgs=新HashMap();
paramArgs.put(“fbImgPostURL”https://graph.facebook.com/me/photos");
put(“accessToken”,accessGrant.getKey());
paramArgs.put(“imageURL”,image.toString());
paramArgs.put(“消息”,消息);
返回HttpPictureUploadImageViaHttpPost(参数参数);
}
当我从intelliJ调试器调试它时,奇怪的是

paramArgs.put("accessToken",accessGrant.getKey());
显然,密钥是
accessToken
。但调试器显示如下:

access_token
=
caackan8sud0bakuzayxlinmxw2pzakmkhihvzcojg1se2qsw60cfqjzajwymbqc1xy1jvmsmyau4ehogskhhhqjsqe6coruxakyfbok7wgyysgjyzc6qf6kzbprwwbpc6jujgkixzzcfgzvzhuzbltxxgzd

很明显,问题是我设置了一个不同的密钥名,但在哈希映射中,设置了一个不同的密钥名,它实际上被传递给

HttpPictureUpload.uploadImageViaHttpPost(paramArgs);
这里的任何人都能猜到发生了什么

编辑: 下面是我的
uploadImageViaHttpPost()
函数:

public static String uploadImageViaHttpPost(HashMap<String,String> keyParams){

    String in="Image Uploaded Successfully!!";
    try {
        HttpClient client = new HttpClient();
        PostMethod method = new PostMethod(keyParams.get("fbImgPostURL"));

        //Add any parameter if u want to send it with Post req.
        method.addParameter("accessToken", keyParams.get("accessToken"));
        method.addParameter("url",keyParams.get("imageURL"));
        method.addParameter("message",keyParams.get("message"));

        int statusCode = client.executeMethod(method);

        if (statusCode != -1) {
            in = method.getResponseBodyAsString();
        }

        System.out.println(in);

    } catch (Exception e) {
        e.printStackTrace();
    }
    return in;
}
publicstaticstringuploadImageViahttpPost(hashMapKeyParams){
String in=“图像上传成功!!”;
试一试{
HttpClient=新的HttpClient();
PostMethod方法=新的PostMethod(keyParams.get(“fbImgPostURL”);
//如果你想用Post req发送任何参数。
addParameter(“accessToken”,keyParams.get(“accessToken”);
addParameter(“url”,keyParams.get(“imageURL”);
addParameter(“消息”,keyParams.get(“消息”);
int statusCode=client.executeMethod(方法);
如果(状态代码!=-1){
in=method.getResponseBodyAsString();
}
系统输出打印项次(输入);
}捕获(例外e){
e、 printStackTrace();
}
返回;
}

这看起来像Base64。你确定这不是该方法首先应该返回的,而不是密钥本身吗?@fge我不知道。但问题是我正在设置密钥“accessToken”,但正在设置的是“access\u token”。因此在HttpPictureUpload.uploadImageViaHttpPost中(paraargs);当我试图访问参数“accessToken”时,我得到一个空值。@fge这真的很奇怪。您是否尝试过将“accessToken”字符串更改为其他字符串,以查看它是否特定于该字符串?我还有一点,虽然可能不会影响这个问题,那就是将左侧的HashMap更改为接口映射。@rahulserver如果您更改了行(以及它的键和值),并且您的输出仍然相同,那么您的类似乎没有得到编译。也许您的项目中有一些编译错误,或者这些类由于其他原因没有被编译?不幸的是,我对intelliJ不熟悉。@Tom我已经很久没有接触这个项目了。所以我不记得我是怎么解决的。因此,请主持人对这个问题做任何必要的处理。可能关闭或删除它?