Logica_ 2015-04-28 02:33 采纳率: 0%
浏览 8793
已采纳

if语句对String类型的判断

if (use.getNewsh() == "政治类新闻") { 
                        // 把当前登录用户存放到session中
                    getSession().setAttribute("curr_use", use);
                    result = "SHsucc";
                    }else{
                        put2Request("use", "类型异常");
                    }
这句判断用户喜欢的新闻类型是否为政治类新闻,断点测试use中已经有用户的newsh属性为政治类新闻,但最终结过都是类型异常,newsh是String类型,测试其他String类型也无法判断,求助该如何解决
 @Override
    public String execute() throws Exception {
        String result = "fail";
        String real = (String) getSession().getAttribute("real");

        if (cc != null && cc.equalsIgnoreCase(real)) { // 验证码正确
            User use = userService.findone(lname);
            if (use != null) { // 用户名正确
                if (use.getPwd().equals(pwd)) { // 密码正确
                    if (use.getStatus()==1) { // 状态正常
                        if (use.getNewsh() == "政治类新闻") { 
                            // 把当前登录用户存放到session中
                        getSession().setAttribute("curr_use", use);
                        result = "SHsucc";
                        }else{
                            put2Request("use", "类型异常");
                        }
                    } else {
                        put2Request("use", "状态异常,请联系系统管理员!");
                    }
                } else {
                    put2Request("use", "密码有误,请检查!");
                }
            } else {
                put2Request("use", "用户有误,请检查!");
            }
        } else {
            put2Request("use", "验证码有误,请检查!");
        }
        return result;
    }
  • 写回答

5条回答 默认 最新

  • _昨日重现 博客专家认证 2015-04-28 03:17
    关注

    String中,比较字符串内容是否相等用的是equals,而==主要用来判断引用是否指向堆内存的同一块地址。
    当String作为一个对象来使用(如:String str1 = new String("zhangsan"))时:1) 对象不同,内容相同,"=="返回false,equals返回true; 2)同一对象,"=="和equals结果相同;
    当String作为一个直接量来使用时,如果值不相同,对象就不相同,所以"==" 和equals结果一样。比如:
    String str1 = "zhangsan";
    String str2 = "zhangsan";
    System.out.println(str1==str2); //true
    System.out.println(str1.equals(str2)); //true
    希望对你有帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退