• String、StringBuffer、StringBuilder中的一些方法使用


    一.getChars()方法

     1 /**
     2  * getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin)
     3  * 将该方法从srcBegin开始到srcEnd结束的字符串复制到dst数组,复制的起始位置为dstBegin
     4  * 温馨小提示:1.被操作字符串包括起始位置,但是不包括结束位置-->即将study全部复制结束位置是5而不是4
     5  *          2.要复制的字符串的长度不能大于字符数组长度,即:从'J'开始覆盖五个字符
     6  *          原字符数组数组从'J'开始必需还有五个存储空间
     7  *          否者发生 java.lang.ArrayIndexOutOfBoundsException异常
     8  */
     9 public class GetChars {
    10 public static void main(String[] args) {
    11     char []s1= {'I',' ','L','o','v','e',' ','J','a','v','a','s'};//声明字符数组s1
    12     String s2="study";//被操作字符串
    13     s2.getChars(0, 5, s1, 7);//包括起始位置,但是不包括结束位置
    14     System.out.println(s1);
    15 }
    16 }

    二.indexOf()方法

     1 /**
     2  * indexOf(String str,int fromIndex)找出ch字符在fromIndex第一次出现的位置
     3  */
     4 public class IndexOf {
     5 public static void main(String[] args) {
     6     String r="www.cnblogs.com";
     7     String r1="lo";
     8     System.out.println("r.indexOf('o'):"+r.indexOf('o'));
     9     System.out.println("r.indexOf('c', 2):"+r.indexOf('c', 2));//从'w'开始
    10     System.out.println("r.indexOf('c', 5):"+r.indexOf('c', 5));//从'n'开始
    11     System.out.println("r.indexOf(r1):"+r.indexOf(r1));
    12 }
    13 }

    三.startsWith()方法

     1 /**
     2  * Boolean startsWith(String prefix,int toffset)
     3  * 从toffset算起是否以prefix开始
     4  */
     5 public class startWith {
     6 public static void main(String[] args) {
     7     String k="www.sohu.com";
     8     String k1="www";
     9     String k2="sohu";
    10     System.out.println(k.startsWith(k1));//是否以"www"开始
    11     System.out.println(k.startsWith(k2,4 ));//从'.'算起,是否以"sohu"开始
    12 }
    13 }

    四.endsWith()方法

     1 /*
     2  * endsWith(xxx)返回对象是否以xxx结尾
     3  */
     4 public class EndsWith {
     5 public static void main(String[] args) {
     6     String core="www.baidu.com";
     7     String core1=".com";
     8     
     9     System.out.println("core.endsWith(core1):"+core.endsWith(core1));//返回core对象是否以.com结尾
    10 }
    11 }

    五.toUpperCase()与toLowerCase()方法

     1 /**
     2  * toUpperCase()与toLowerCase()方法
     3  */
     4 public class ToUpperCase {
     5 public static void main(String[] args) {
     6     String p="shenzhoNGRushi";
     7     System.out.println(p.toUpperCase());//转大写
     8     System.out.println(p.toLowerCase());//转小写
     9 }
    10 }

     六.compareTo()方法

     1 /**
     2  * compareTo(String anotherString)方法:比较的是两个字符串序列差
     3  *                  ①当一个字符串为另一个字符串的子集:比较的是长度差
     4  *                  ②当两个字符串有部分相同,知道遇到不同字符:比较的是字符差
     5  * @author 罗摩衔那
     6  *
     7  */
     8 public class compareTo {
     9 public static void main(String[] args) {
    10     String s="bksjcnsourh";
    11     String s2="bksjcns";
    12     String s3="bksjcnsjurh";
    13     
    14     System.out.println("s.compareTo(s2):"+s.compareTo(s2));//比较长度差
    15     System.out.println("s.compareTo(s3):"+s.compareTo(s3));//比较'o'与'j'的差
    16 }
    17 }

    七.StringBuffer类

     1 /**
     2  * StringBuffer类的追加、插入、替换、删除等操作
     3  * 温馨小提示:StringBuffer和String的最大区别就在于:StringBuffer的字符序列是可变的
     4  * @author 罗摩衔那
     5  *
     6  */
     7 public class StringBuildTest {
     8 public static void main(String[] args) {
     9     StringBuilder sb=new StringBuilder();//创建StringBuilder对象
    10     //追加
    11     sb.append("坚强的男孩");
    12     System.out.println(sb);
    13     //插入
    14     sb.insert(0, "做一个 ");
    15     System.out.println(sb);
    16     //替换
    17     sb.replace(3, 4, ",");//包含开始位置,不包含结束位置
    18     System.out.println(sb);
    19     //删除
    20     sb.delete(3, 4);//包含开始位置,不包含结束位置
    21     System.out.println(sb);
    22     //反转
    23     sb.reverse();
    24     System.out.println(sb);
    25     System.out.println(sb.length());//输出长度
    26     System.out.println(sb.capacity());//输出容量
    27     //改变长度
    28     sb.setLength(5);
    29     System.out.println(sb);
    30 }
    31 }

     八.deleteCharSet()方法

    /*
     * deleteCharSet用来删除指定位置的字符串
     */
    public class deleteCharSet {
      public static void main(String[] args)
      {
        StringBuffer sb=new StringBuffer("龙之谷之精灵王座");
        sb.deleteCharAt(3);
        System.out.println(sb);
       }
    }

    九.setCharAt()方法

     1 /*
     2  * setCharAt方法用来修改指定位置的字符
     3  */
     4 public class setCharAt 
     5 {
     6       public static void main(String[] args)
     7       {
     8         StringBuffer sb=new StringBuffer("龙之谷之精灵王座");
     9         sb.setCharAt(4, '破');
    10         System.out.println(sb);
    11        }
    12 }

    补充:String和StringBuffer的区别

             1.String的值是不可变的,对String的操作每次都会生成新的字符串对象-->耗费内存

              2.StringBuffer对字符串的操作不会生成新的对象,StringBuffer默认分配16个字节长度的缓存区,当字符串长度超过该大小,会自动扩大

    //默认分配16字节长度的缓存区
    StringBuffer s=new StringBuffer();
    //分配500字节长度的缓存区
    StringBuffer s1=new StringBuffer(500);
    //在缓存区存放了字符串,并在后面预留了16字节长度的缓存区
    StrignBuffer S2=new StringBuffer("www.cnblogs.com");

    p:大佬们放过我,我知道我不该用方法名命名类名

  • 相关阅读:
    bootstrap-treeview 实现级联选择
    MockMvc
    TCP的三次握手与四次挥手的理解
    多线程之按序打印
    java后端学习流程
    nginx安装配置
    今天给大家分享个玩具——树莓派
    nginx启动报错
    springboot自定义注解
    初探企业级应用开发主流前沿技术
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10014783.html
Copyright © 2020-2023  润新知