java - android中读取json的奇怪if语句

标签 java android

所以我读取了 json api 并得到了结果。根据结果​​我希望 android 执行两个不同的事情。

如果状态=否,那么我想要一个事件,如果状态=是,我想要另一个事件。

我的代码在这里:

JSONObject json = new JSONObject(result);

            String status = json.getString("status");
            Log.d("BeforeIf", status);




            if(status == "no"){
                //toast logIN failed

                Log.d("logIN-no", status);
                String message = "Log In Failed";
                Toast.makeText(c,  message, Toast.LENGTH_SHORT).show();

            }

            else{
                //get userName
                Log.d("logIN-yes", "correct");
                //get user ID

                //set preferences

                //launch normal activity

            }

奇怪的部分是在 if 我的日志显示 status = no 之前,但根据日志,它似乎转到了 else...

06-21 22:24:05.822: D/BeforeIf(26889): no
06-21 22:24:05.877: D/logIN-yes(26889): correct

根据这次运行,它不应该出现在 if 语句的 else 部分......我错过了什么哈哈

最佳答案

您不能使用 == 来比较两个字符串(或任何两个对象)的内容。您正在比较引用,而不是内容。

使用if(status.equals("no")){

关于java - android中读取json的奇怪if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246771/

相关文章:

java - 创建具有数据库权限的新用户

android - RSS 提要库不工作

java - 使用 AJAX 和 Java 注销不起作用

java - 接口(interface)作为方法/构造函数参数

java - Android ListView 像 Twitter 列表一样滑动操作

java - Android ProgressDialog 不工作

Android studio安装警告: A folder failed to be moved

Android:无法从多维 MongoDB jsonObject 转换为 JSONArray

java - 执行 Apache Ant 制作的可执行 jar 导致的错误

java - 如何使用 apache poi 4.0 XDDFChartData、XDDFPieChartData 生成饼图;在使用 java 的 excel 表中,我不想使用 jfree