• -----------------------------------String类的常用方法


    package string;

    public class Test01 {

    /**
    * @param args
    */

    public void test01(){
    String str1="abcd";
    String str2="ABCD";
    System.out.println("字符串的长度:"+str1.length());
    System.out.println("比较两个字符串的内容:"+str1.equals(str2));
    System.out.println("比较两个字符串的内容:(忽略大小写)"+str1.equalsIgnoreCase(str2));
    System.out.println("把str1变成大写:"+str1.toUpperCase());
    System.out.println("把str2变成小写:"+str2.toLowerCase());

    }

    public void test02(){
    String str1="abcd";
    //把字符串转变成字符数组
    char[] arrays = str1.toCharArray();
    for (char c : arrays) {
    System.out.println(c);
    }

    }


    public void test03(){
    String str1="a+b+c+d";
    //^[0~9]{11}$ 正则表达式
    //根据指定的规则 把字符串拆分成 字符串 数组
    String[] split = str1.split("\+");
    for (String string : split) {
    System.out.println(string);
    }

    }

    public void test04(){
    String str1="12345@qq.com";
    //查询@在字符串出现的位置
    int index = str1.indexOf("@");
    System.out.println("@在字符串出现的位置"+index);//下标从0开始
    //查询q在字符串中最后一次出现的位置
    int lastIndex = str1.lastIndexOf("q");
    System.out.println("q在字符串中最后一次出现的位置"+lastIndex);
    //获取@之后的所有字符串
    String sub = str1.substring(index+1);
    System.out.println("@之后的所有字符串"+sub);
    /***
    * 查询 qq
    * subString(int beginIndex, int endIndex)
    * 01。找到起点的位置
    * 02,不包含endIndex
    */
    int index1 = str1.indexOf(".");
    String sub1 = str1.substring(index+1, index1);
    System.out.println(sub1);

    }

    public void test05(){
    String str1=" abc def ";
    System.out.println("空格计算长度:"+str1.length());
    //去除字符串两边的空格
    str1=str1.trim();
    System.out.println("去除空格之后的内容:"+str1);
    System.out.println("去除空格后字符串的长度:"+str1.length());

    }
    public void test06(){
    String str1="abcdef";
    //把a替换成6
    String replace = str1.replace("a", "6");
    System.out.println(replace);
    //是否以6开始
    System.out.println("是否以6开始"+replace.startsWith("6"));
    System.out.println("是否以f结尾"+replace.endsWith("f"));
    }

    public void test07(){
    String str1="abcdef";
    //截取一个字符 返回值是char
    char a =str1.charAt(3);
    System.out.println(a);

    }
    public void test08(){
    String str1="abcdef";
    //将字符串贮存在数组中
    byte[] bytes = str1.getBytes();
    for (byte b : bytes) {
    System.out.println((char)b);
    }

    }
    public void test09(){

    String str1="abc";
    String str2="efg";
    //之前字符串的相加
    System.out.println(str1+str2);
    //现在 concat(String str)
    String concat = str1.concat(str2);
    System.out.println(concat);

    }
    public void test10(){
    String str1="abc";
    //是否包含摸个字符
    boolean contains = str1.contains("a");
    System.out.println(contains);

    }

    /*
    * String, StringBuffer ,StringBuilder三者的区别
    * 01.在执行速度
    * StringBuilder > StringBuffer > String
    * 02.StringBuilder:多线程不安全,适合单线程
    * StringBuffer:线程安全
    * String : 数据量小的时候使用
    * 03.String 是不可变的! 每当我们操作字符串的时候,都会创建一个新的对象!
    * StringBuilder,StringBuffer当我们操作字符串的时候,实际上是在操作一个对象!
    */
    public void test11(){
    //01.定义常量
    String name="xiaohei";
    //02.定义操作字符串的次数
    int count=2000000;
    //03.设置开始时间
    long beginTime = System.currentTimeMillis();
    for (int i = 0; i <count/100; i++) {
    name+="haha";
    }
    //03.设置结束时间
    long endTime = System.currentTimeMillis();
    System.out.println("String的执行时间"+(endTime-beginTime));
    System.out.println("***************");
    //使用StringBuffer的时间
    name="xiaohei";
    StringBuffer buffer=new StringBuffer(name);
    beginTime=System.currentTimeMillis();
    for (int i = 0; i < count; i++) {
    StringBuffer append = buffer.append("haha");

    }
    endTime=System.currentTimeMillis();
    System.out.println("使用StringBuffer的执行时间:"+(endTime-beginTime));
    System.out.println("***************");
    //使用StringBuilder的时间
    name ="xiaohei";

    StringBuilder builder=new StringBuilder(name);
    beginTime=System.currentTimeMillis();
    for (int i = 0; i <count; i++) {
    builder.append("haha");
    }
    endTime = System.currentTimeMillis();
    System.out.println("使用StringBuilder的执行时间"+(endTime-beginTime));
    }


    }

  • 相关阅读:
    微信小程序学习随笔
    SqlServer索引假脱机的解决
    web服务器出现大量CLOSE_WAIT连接的前因后果
    SqlServer和mysql字段拼接方法
    使用beego创建员工加班调休系统
    在c#程序中初步使用redis
    使用golang实现批量发送面试邀请邮件
    记c# rabbitmq的使用
    项目中使用mongodb的尝试
    手机集成支付宝支付功能的注意事项
  • 原文地址:https://www.cnblogs.com/laosunlaiye/p/6855531.html
Copyright © 2020-2023  润新知