Java - 来自 JSONArray 的字符串在 if 语句中不匹配

标签 java arrays

我真的看不出我哪里错了。任何帮助将不胜感激。

我有一个 JSONArray

JSONArray jsonArray = new JSONArray(responseString);

其中 responseString 是 ["prob", "2"]

我得到第一个 String

String maybeProb = jsonArray.getString(0);

当我使用 Toast 显示它时一切正常,toast 弹出窗口只是说 prob

Toast.makeText(getBaseContext(),maybeProb ,Toast.LENGTH_LONG).show();

但是当我使用 if (maybeProb == "prob") 时,它不会返回 true

为什么不呢???我做错了什么???

为您提供更多详细信息:

构成原始 JSONArray 的 responseString 来自 HttpPost 到我的服务器

InputStream is = null;

HttpResponse response = httpclient.execute(httppost);

HttpEntity entity = response.getEntity();

is = entity.getContent();

//Convert response to string
responseString = convertStreamToString(is);

public String convertStreamToString(InputStream inputStream) {

    StringBuilder sb = null;
    String result = null;

    try
    {           
      BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
      sb = new StringBuilder();
      String line = null;

      while ((line = reader.readLine()) != null)
      {
        sb.append(line + "\n");
      }

      inputStream.close();
      result = sb.toString();

    }
      catch(Exception e)
    {
      Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
    }

    // return the string
    return result;
}

我服务器上做出响应的 PHP 是

$message = array("prob", "2");

$response = json_encode($message);

print($response);

非常感谢任何能帮助我的人

最佳答案

要在 Java 中比较对象,请使用 .equals() 方法而不是 "==" 运算符

替换下面的代码

 if(maybeProb  == "prob") {
 }

用这个。

 if(maybeProb.equals("prob")) {
 }

关于Java - 来自 JSONArray 的字符串在 if 语句中不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19377119/

相关文章:

javascript - 将其中包含数字数组的字符串转换为实际值

Java Swing 计时器未启动?

javascript - 释放大数组内存的正确方法是什么

python - 在 numpy 数组前添加一列

java - JDK 9+ 不支持 Eclipse : clientBuilder. sslSocketFactory

php - 从不同的表 PHP 返回数组

php - 如何将 id 传递到 foreach 循环中以获取所有相关记录?

java - spring编译错误: cannot access ParameterizedTypeReference

java - 制作通用数组是不好的做法吗?有什么替代方法?

java - GridBagLayout 未将按钮锚定到 PAGE_END