String类当中常用方法


前言

String类有很多常用方法
总结一下,便于自己记忆复习。

char charAt(int index)

返回指定索引的char值

public class Test01 {
    public static void main(String[] args) {
        char c = "我是帅哥".charAt(2);
        System.out.println(c);  //帅
    }
}

int compareTo(String anotherString)

按字典顺序比较两个字符串
两个字符串比较大小不能用<,> 需要使用compareTo()方法

public class Test01 {
    public static void main(String[] args) {
        int result1 = "abc".compareTo("abc");
        System.out.println(result1);    //0

        int result2 = "abcd".compareTo("abce");
        System.out.println(result2);    //-1

        int result3 = "abce".compareTo("abcd");
        System.out.println(result3);    //1

        // 拿着字符串第一个字母和后面字符串的第一个字母比较。能分胜负就不再比较了。
        System.out.println("xyz".compareTo("yxz"));     // -1
    }
}

boolean contains(CharSequence s)

判断前面的字符串中是否包含后面的子字符串。

public class Test01 {
    public static void main(String[] args) {
        System.out.println("Hello.java".contains(".java"));     //true
        
        System.out.println("http://www.baidu.com".contains("https://"));    //false
    }
}

boolean endsWith(String suffix)

判断当前字符串是否以某个子字符串结尾

public class Test01 {
    public static void main(String[] args) {
        System.out.println("Hello World.java".endsWith(".java"));   //true
        System.out.println("Hello World.java".endsWith(".class"));  //false
        System.out.println("awifhakihfoaiaa".endsWith("aa"));   //true
    }
}

boolean equals(Object anObject)

比较两个字符串必须使用equals方法,不能使用“==”

public class Test01 {
    public static void main(String[] args) {
        System.out.println("abc".equals("abc")); // true
    }
}

boolean equalsIgnoreCase(String anotherString)

比较两个字符串是否相等,并且同时忽略大小写

public class Test01 {
    public static void main(String[] args) {
        System.out.println("Abc".equalsIgnoreCase("abc"));  //true
    }
}

byte[] getBytes()

将字符串对象转换成字节数组

public class Test01 {
    public static void main(String[] args) {
        byte[] bytes = "abcdefg".getBytes();
        for (int i = 0; i < bytes.length; i++) {
            System.out.println(bytes[i]);       //97 98 99 100 101 102 103
        }
    }
}

int indexOf(String str)

判断某个子字符串在当前字符串中第一次出现处的索引(下标)

public class Test01 {
    public static void main(String[] args) {
        System.out.println("to.the.moon".indexOf("moon"));  //7
    }
}

boolean isEmpty()

判断某个字符串是否为“空字符串”

public class Test01 {
    public static void main(String[] args) {
        String s = "";
        System.out.println(s.isEmpty());    //true

        String s2 = "a";
        System.out.println(s2.isEmpty());   //false
    }
}

int length()

返回此字符串的长度
注意:判断数组长度是length属性,判断字符串长度是length()方法

public class Test01 {
    public static void main(String[] args) {
        System.out.println("".length());    //0
        System.out.println("abcd".length());    //4
    }
}

int lastIndexOf(String str)

判断某个子字符串在当前字符串中最后一次出现的索引(下标)

public class Test01 {
    public static void main(String[] args) {
        System.out.println("oraclejavac++javac#phpjavapython".lastIndexOf("java"));     //22
    }
}

String replace(CharSequence target, CharSequence replacement)

替换
String的父接口就是:CharSequence

public class Test01 {
   public static void main(String[] args) {
       String s1 = "http://www.bilibili.com".replace("http://","https://");
       System.out.println(s1);     //https://www.bilibili.com

       //把&替换成*
       String s2 = "name=zhangsan&age=14&sex=false".replace("=",":");
       System.out.println(s2);     //name:zhangsan&age:14&sex:false
   }
}

String[] split(String regex)

拆分字符串

public class Test01 {
   public static void main(String[] args) {
       String[] s1 = "2077-12-21".split("-");
       for (int i = 0; i < s1.length; i++) {
           System.out.println(s1[i]);  //2077
                                       //12
                                       //21
       }
   }
}

boolean startsWith(String prefix)

判断某个字符串是否以某个子字符串开始

public class Test01 {
   public static void main(String[] args) {
       System.out.println("http://www.bilibili.com".startsWith("http://"));        //true
       System.out.println("http://www.bilibili.com".startsWith("https://"));       //false
   }
}

String substring(int beginIndex)

截取字符串(参数为起始下标)

public class Test01 {
   public static void main(String[] args) {//true
       System.out.println("http://www.bilibili.com".substring(7));       //www.bilibili.com
   }
}

String substring(int beginIndex, int endIndex)

beginIndex 起始位置(包括)
endIndex 结束位置(不包括)

public class Test01 {
  public static void main(String[] args) {//true
      System.out.println("http://www.bilibili.com".substring(7,10));       //www
  }
}

char[] toCharArray()

将字符串转换成char数组

public class Test01 {
  public static void main(String[] args) {
      char[] chars = "我是帅哥".toCharArray();
      for (int i = 0; i < chars.length; i++) {
          System.out.println(chars[i]);       //我
                                              //是
                                              //帅
                                              //哥
      }
  }
}

String toLowerCase()

转换为小写

public class Test01 {
  public static void main(String[] args) {
      System.out.println("ABCDefg".toLowerCase());        //abcdefg
  }
}

String toUpperCase();

转换为大写

public class Test01 {
  public static void main(String[] args) {
      System.out.println("ABCDefg".toUpperCase());        //ABCDEFG
  }
}

String trim();

去除字符串前后空白

public class Test01 {
  public static void main(String[] args) {
      System.out.println("      Hello     World       ".trim());        //Hello     World
  }
}

static String valueOf();

作用:将“非字符串”转换成“字符串”
(如果参数是一个对象的话,会自动调用对象的toString方法)
(并且这个方法是静态的)

package com.maoeoo.javase.String;

public class Test01 {
  public static void main(String[] args) {
      String s1 = String.valueOf(100);
      String s2 = String.valueOf(true);
      String s3 = String.valueOf(3.14);
      System.out.println(s1);     //100
      System.out.println(s2);     //true
      System.out.println(s3);     //3.14

      //如果参数是一个对象的话,会自动调用toString
      //翻阅源码可以看到
      /*
      public static String valueOf(Object obj) {
          return (obj == null) ? "null" : obj.toString();
      }
       */
      String s4 = String.valueOf(new Animal());
      System.out.println(s4);     //com.maoeoo.javase.String.Animal@2f4d3709
  }
}

class Animal{

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值