• Java常用类之【字符串相关类型】


    一、字符相关类型

    分类:

    1.不可变的字符序列:
    String类

    2.可变的字符序列:
    StringBuilder类——->线程不安全的 执行效率相对较高
    StringBuffer类——->线程安全的 执行效率相对较低

    二、不可变的字符序列—-String类

    2,1构造方法

    参数为字符数组://String str=new String(new char[]{‘a’,’b’,’c’});
    参数为字符数组+偏移量+count://String str=new String(new char[]{‘a’,’b’,’c’,’d’},0,3);

    // 第一个参数 char数组
    // 第二个参数 偏移量 从数组中第几个数据开始写入String字符串
    // 第三个参数 count 写几个
    // 偏移量+ count 不能超过数组的长度

    参数为字节数组://String str=new String(new byte[]{1,2,3});
    直接赋值://String str=“abc”;

    2,2基本方法
    1)用来创造新字符串的方法

    拼接:str.Concat(str)【拼接字符串】
    替换:str.replace(要被替换的str,用于替换的)
    替换:replaceAll(String regex, String replacement)
    替换第一个:String replaceFirst(String regex, String replacement)
    截取:str.substring(int beginIndex)或者str.substring(int beginIndex, int endIndex)
    转换为小写:str.toLowerCase()
    转换为大写:toUpperCase()
    去除首尾空格:str.trim()

    2)查找字符的方法

    匹配开头返回Boolean:str.startsWith(String prefix, int toffset) 【prefix为匹配的字符串,offset偏移量】或startsWith(String prefix)

    匹配结尾:str.endsWith(String suffix)

    字符串第一次出现的位置:indexOf(str) 或indexOf(str, int fromIndex) 【fromIndex为从哪个下标开始找】(没有返回-1,下同)

    字符串最后一次出现的位置:lastIndexOf(int ch) 或lastIndexOf(int ch, int fromIndex) 【fromIndex是从左向右数,然后从这个位置向左去匹配】

    【该字符串是否含有指定字符串】contains(string regex) //参数为判断的字符串

    3)比较字符的方法

    判断内容是否相等:str.equals(str)

    忽略大小写比较:str.equalsIgnoreCase(str)

    按字典顺序比较两个字符串:str1.compareTo(str);【先比较第一个字符,相等,就接着比,直到分出大小,全部相同,返回0,str1小则返回负数,大为正数】(得到的数值为两字符对应码的差值e-d=1),compareToIgnoreCase(String str)

    匹配正则:str.matches(String regex)

    4)其他

    将不同基本类型转为字符串:String.valueOf(基本类型)
    将字符串拆分为【字符数组】:str.toCharArray()
    将字符串拆分为【字符串数组】:str.split(regex)或split(String regex, int limit) 【limit限制拆分的个数】
    判断字符串是否为空:str.isEmpty() 【当且仅当 length() 为 0 时返回 true】
    获取字符串长度:str.length()
    charAt(index)【获取字符串中对应下标值的字符,返回char类型】

    三、可变的字符序列

    StringBuffer类
    与String类相比较,新增方法:

    反向排列:buffer.reverse()
    转为字符串:buffer.toString()
    将字符串插入指定位置:buffer.insert(1, “ww”)【参数1:偏移量】
    删除指定下标字符:buffer.deleteCharAt(2)
    删除指定范围字符串:buffer.delete(1, 2)【参数1:开始下标,参数2:结束下标】
    在后面添加字符串:buffer.append(“abc”)

    注意:

    没有频繁的追加或者删除字符串内容 ——————–用String
    频繁的操作追加或者是删除字符串中的内容的时候—————- 用StringBuffer 比较有优势 节省内存开销

  • 相关阅读:
    http升级https
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    看完这篇 HTTPS,和面试官扯皮就没问题了
    批量修改错误图片
    php上传文件至Linux服务器根目录-指定目录
    thinkphp图片压缩-composer-Intervention-Image-ImageManagerStatic
    ruoyi后台管理系统分析(四)-----generator包
    SpringMVC的层:DAO、Service、Controller、View的关系
    ruoyi后台管理系统分析(三)---admin包
    ruoyi后台管理系统分析(二)------framework包
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6797649.html
Copyright © 2020-2023  润新知