zoukankan      html  css  js  c++  java
  • -----------------------------------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));
    }


    }

  • 相关阅读:
    Hamler 0.2 正式发布
    Xamarin.Forms 解决ListView高度问题
    Xamarin.Forms中DependencyService的使用
    Xamarin.Forms Android 底部导航栏
    修改UITabBar样式 TintColor 和 Selected Tab Images in Xamarin.Forms iOS
    Xamarin.iOS中使用MvvmLight框架
    Xamarin.iOS 代码中添加约束练习
    Xamarin.Android 手势密码
    UWP 手势密码实现
    Xamarin.iOS 手势密码
  • 原文地址:https://www.cnblogs.com/laosunlaiye/p/6855531.html
Copyright © 2011-2022 走看看