• String


    String

    • 构造函数

      • //第一种构造:使用char数组
      • //第一种构造:使用byte数组
      • //第一种构造:使用一个已经存在的字符串

      ```

      char[] sz1 = {'a','b','c'};
      byte[] sz2={97,98,99};
      String s1 = new String(sz1);
      String s2 = new String(sz2);
      String s3 = new String(s2);
      

      ```

    • String s2 = "abc";与String s3 = new String("abc");差异
    • 常用方法
    • charAt:获取制定位置的字符
    • String concat(String str) :连接字符串
    • boolean contains(CharSequence s) :判断是否包含
    • boolean endsWith(String suffix) :判断是否以xx结束
    • boolean equals(Object anObject)
    • boolean equalsIgnoreCase(String anotherString) :忽略大小写判断是否相等
    • byte[] getBytes() //获取byte数组
    • int indexOf(String str) //查找子字符串位置,不存在返回-1
    • boolean isEmpty() //查看是否为空
    • int lastIndexOf(int ch) //从后面查找子字符串位置。不存在返回-1
    • boolean startsWith(String prefix) :判断是否以xx开始
    • String substring(int beginIndex) :截取字符串,从start到最后
    • String substring(int beginIndex, int endIndex) :截取字符串,从start 到end
    • String trim() :去前后空格

    不可变的特性

    • String是不可变的

      • String jiafa = "abc"+"cde";//创建了三个字符串
      • String jiafafa = "abc"+"bcd"+"cde";//创建5个字符串
    • 如果涉及到字符串的反复修改时,使用StringBuffer/StringBuilder

    • 二者之间的差别:
      • StringBuffer是线程安全的
      • StringBuilder是线程不安全的

    StringBuilder&StringBuffer

    • 简介:可变字符串。针对于Java的String是不可变字符串而产生的
    • 构造方法,内部底层是一个char数组
      • StringBuffer sb1 = new StringBuffer();//没有指定大小。默认16
      • StringBuffer sb2 = new StringBuffer(10);//指定大小
      • StringBuffer sb3 = new StringBuffer("abc")//使用一个字符串初始化
    • 常用方法法
      • capacity:获取容量,就是底层的char数组的容量
      • length():获取字符串有意义容量
      • append():追加
      • insert:在制定为值插入字符串
      • delete:删除制定位置字符,start到end
      • trimToSize:让当前的char[]长度刚好等于字符串的长度
      • reverse:翻转字符串
      • 其他还有很多和String类似的方法

    StringUtils

    • Apache是一个开源组织,提供了非常多的开源的框架或工具集
    • commoms.lang3,
      • 下载地址:
      • http://central.maven.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
      • 源码地址
      • http://mirrors.shu.edu.cn/apache//commons/lang/source/commons-lang3-3.8.1-src.zip
    • 添加依赖
    • 常用方法

      • equals:比较相等
      • isBlank:是否为空,“ ”也是true
      • isEmpty :“ ”是false
      • isNumeric:持否为纯数字
      • isNumericSpace:是否为纯数字加空格
      • isAlpha:是否为纯字母
      • leftPad:左边填充制定
      • rightPad:右边
      • containsAny:是否包含匹配的任意一个字符
      • containsWhitespace:是否包含空白的字符,比如空格,回车,制表符
      • countMatches:判断匹配上了几次
  • 相关阅读:
    POJ 1651:Multiplication Puzzle(区间DP)
    POJ 2955:Brackets(区间DP)
    LightOJ 1422:Halloween Costumes(区间DP入门)
    Gym 101257G:24(尺取)
    Codeforces 777D:Cloud of Hashtags(水题)
    Gym 101257B:2Trees(DFS+思维)
    Codeforces 777C:Alyona and Spreadsheet(思维)
    Codeforces 776C:Molly's Chemicals(思维)
    HDU-3440 House Man
    BZOJ-1202 狡猾的商人
  • 原文地址:https://www.cnblogs.com/CjtBlog/p/13899258.html
Copyright © 2020-2023  润新知