温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java If条件如何比较字符串

发布时间:2026-10-22 06:40:32 来源:亿速云 阅读:94 作者:小樊 栏目:编程语言

在 Java 中,比较字符串不能使用 == 来比较内容,== 比较的是“引用(内存地址)”。
字符串内容比较应使用 equals() 或 equalsIgnoreCase()。


一、正确方式(最常用)

1️⃣ 使用 equals() 比较内容

String a = "hello";
String b = "hello";

if (a.equals(b)) {
    System.out.println("相等");
}

2️⃣ 忽略大小写比较

String a = "Hello";
String b = "hello";

if (a.equalsIgnoreCase(b)) {
    System.out.println("相等(忽略大小写)");
}

二、错误方式(不推荐)

❌ 使用 == 比较字符串

if (a == b) {
    // 可能“碰巧”成立,但不安全
}

原因:

  • == 比较的是 对象引用
  • 只有在字符串常量池中是同一个对象时才为 true

示例:

String a = "abc";
String b = new String("abc");

System.out.println(a == b);        // false
System.out.println(a.equals(b));  // true

三、避免空指针(推荐写法)

✅ 常量放前面(最安全)

if ("hello".equals(a)) {
    // 即使 a 为 null 也不会抛异常
}

✅ Java 7+ 可用 Objects.equals

import java.util.Objects;

if (Objects.equals(a, b)) {
    // 自动处理 null
}

四、switch 中比较字符串(Java 7+)

switch (a) {
    case "hello":
        System.out.println("hello");
        break;
    case "world":
        System.out.println("world");
        break;
}

总结

场景 推荐方式
比较内容 equals()
忽略大小写 equalsIgnoreCase()
防止空指针 "常量".equals(变量)
引用比较 ==(极少用)

如果你有具体代码场景(比如 if 里多个条件、null 判断等),可以直接发出来。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手