字符串比较

发布时间 2023-04-18 19:33:57作者: harper886

字符串比较

字符串比较相关方法

  1. ==是进行地址值的比较

  2. 字符串的比较需要用str.equals(),进行比较.字符串相同为true.字符串不同为false

注意事项

  1. 任何对象队可以用Object接收
  2. equals具有对称性a.equals(b)和b.equals(a)相同
  3. 如果比较的是一个常量和一个变量,推荐把常量写在前面

str.equalsIgnoreCase为字符串忽略大小写比较

image-20230418190649912

代码示例

public class Demo01Str {
    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";
        char[] charArray = {'a', 'b', 'c'};
        String str3 = new String(charArray);
        System.out.println(str1.equals(str2));//true
        System.out.println(str2.equals(str3));//true;
        System.out.println("abc".equals(str3));//ture
        //如果字符串为一个常量和一个变量推荐把常量写在前面
        String str4 = "abc";
        System.out.println(str4.equals("abc"));//不推荐
        System.out.println("abc".equals(str4));//推荐
        //如果str4=NULL的话不推荐的写法会报错,而推荐的写法是false
        str4=null;
//        System.out.println(str4.equals("abc"));//不推荐..Cannot invoke "String.equals(Object)" because "str4" is null
        System.out.println("abc".equals(str4));//推荐
    }
}
public class Demo01Str {
    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";
        char[] charArray = {'a', 'b', 'c'};
        String str3 = new String(charArray);
        System.out.println(str1.equals(str2));//true
        System.out.println(str2.equals(str3));//true;
        System.out.println("abc".equals(str3));//ture
        //如果字符串为一个常量和一个变量推荐把常量写在前面
        String str4 = "abc";
        System.out.println(str4.equals("abc"));//不推荐
        System.out.println("abc".equals(str4));//推荐
        //如果str4=NULL的话不推荐的写法会报错,而推荐的写法是false
        str4=null;
//        System.out.println(str4.equals("abc"));//不推荐..Cannot invoke "String.equals(Object)" because "str4" is null
        System.out.println("abc".equals(str4));//推荐
    }
}


字符串忽略大小比较

只忽略英文大小写

image-20230418192120533

代码示例

import java.sql.SQLOutput;

public class Demo01Str {
    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";
        char[] charArray = {'a', 'b', 'c'};
        String str3 = new String(charArray);
        System.out.println(str1.equals(str2));//true
        System.out.println(str2.equals(str3));//true;
        System.out.println("abc".equals(str3));//ture
        //如果字符串为一个常量和一个变量推荐把常量写在前面
        String str4 = "abc";
        System.out.println(str4.equals("abc"));//不推荐
        System.out.println("abc".equals(str4));//推荐
        //如果str4=NULL的话不推荐的写法会报错,而推荐的写法是false
        str4=null;
//        System.out.println(str4.equals("abc"));//不推荐..Cannot invoke "String.equals(Object)" because "str4" is null
        System.out.println("abc".equals(str4));//推荐
        String str5="ABC";
        //字符串忽略大小比较
        System.out.println("ABC".equalsIgnoreCase(str5));//true
        System.out.println("Abc".equalsIgnoreCase(str5));//true
    }
}