0
点赞
收藏
分享

微信扫一扫

JAVA字符串的比较

闲鱼不咸_99f1 2022-03-12 阅读 69

目录

字符串的子串的获取

字符和Unicode 

比较字符串(==和equal()的区别)


方法功能
str1.equals(str2)判断两个字符串是否具有相同的值
str1.equalsIgnoreCase(str2)在忽略字符串中大小写的情况下判断字符串是否有相同的值
str.startsWith(str1)判断字符串的开始是否为str1,返回真假,大小写会影响
str.endsWith(str1)判断字符串的结尾是否为str1,返回真假,大小写会影响
str.contains(str1)判断字符串中是否包含str1,返回真假,大小写有影响

字符串的子串的获取

java中字符类型char用于表示单个字符,用单引号括住,给char类型赋值不能用双引号。如果是双引号则是一个字符串。String类下有个方法叫做substring(begin,end); 可以从原字符串中提取出一个子字符串。

    public static void main(String[] args) {
        //char ch = "C";错误示范
        char ch1 = 'C';
        String str = "string in java";
        String newstr = str.substring(1,5);//返回trin
        System.out.println(newstr);
    }

字符和Unicode 

    public static void main(String[] args) {
        char ch1 = 'A';//十进制编码值为65
        System.out.println(++ch1);//返回B
        System.out.println(--ch1);//返回A
        //此时ch1 = 'A'
        System.out.println(ch1+0);//65
        System.out.println(ch1+1);//66
        System.out.println(ch1+2);//67

    }

因为这些编码(Unicode)的存在,字符和字符之间可以直接进行比较的,这里‘a'的十进制编码是97,’A'的十进制编码是65,所以‘a’<'A' 返回false

    public static void main(String[] args) {
        System.out.println('a'<'A');//返回false
    }

比较字符串(==和equal()的区别)

在进行字符串的比较时务必使用equal() 而不是 == !!!

==操作符检查两个字符串是否完全相同的对象,并不会得出内容是否相等,所以不能用==来比较两个字符串。

    public static void main(String[] args) {
        String str1 = "hello world";
        String str2 = "hello world";
        String str_new1 = new String("haha");
        String str_new2 = new String("haha");
        String str_new3 = new String("HAHA");

        //这里str1和str2在字符串池中指向的是同一个对象,所以会返回true
        System.out.println(str1 == str2);//true
        //因为new String会在堆中指向的不是同一个对象,所以返回false
        System.out.println(str_new1 == str_new2);//false
        //字符串比较的正确方式
        //.equal将检查两个字符串是否具有相同的值.所以返回true
        System.out.println(str_new1.equals(str_new2));//true
        //在使用这个方法的时候,可以忽略字符串的大小写
        System.out.println(str_new1.equalsIgnoreCase(str_new3));
    }

还有很多可以用来判断字符串的方法

    public static void main(String[] args) {
        String str= "String in java";
        //判断字符串的开始
        System.out.println(str.startsWith("java"));//false
        System.out.println(str.startsWith("Str"));//true
        //判断字符串的结尾
        System.out.println(str.endsWith("vva"));//false
        System.out.println(str.endsWith("va"));//true
        //判断字符串是否包含
        System.out.println(str.contains("python"));//false
        System.out.println(str.contains("jav"));//true
    }
举报

相关推荐

0 条评论