Sring StringBuffer StringBuilder封装类

一、String类常见方法的使用

字符串数据都是一个对象

字符串数据一旦初始化就不可以被改变

字符串对象都存储于常量池中,字符串常量池

==比较的是地址值,而new是重新开辟

1、判断
  • equals(Object obj) :字符串类重写了Object的方法,用于比较字符串的值是否相等

    • equalsIfnoreCase(String anotherString) 用于标胶字符串的值是否相等不区分大小写
  • contains(String s) :判断一个字符串中是否包含另一个字符串
  • startd With(String prefix) :测试次字符串是否是以指定的前缀开始
  • endsWith(String suffix):测试此字符串是否以指定的后缀结束
  • idEmpty()判断字符串是否为空
2、获取
  • int length() :获取字符串长度

  • char charAt(int index):获取指定位置的字符

  • 获取指定的字符串或者字符串在给定的字符串中第一次出现的索引

    • int indexOf(int ch) 获取指定字符串在字符串中第一次出现的索引
    • int indexOf(int ch ,int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
    • int indexOf(String str) 获取指定字符串在字符串中第一次出现的索引
    • int indexOf(String str ,int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
  • 获取指定的字符或者字符串在给定的字符串中最后一次出现的索引

    int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。

    int lastIndexOf(int ch, int fromIndex)返回指定字符在此字符串中最后一次出现处的索引,

    从指定的索引处开始进行反向搜索。

    int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引。

    int lastIndexOf(String str, int fromIndex)返回指定子字符串在此字符串中最后一次出现处

    的索引,从指定的索引开始反向搜索。

  • 获取子串

    String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。

    String substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个

    子字符串。 <含头不含尾>

3、转换
  • 字符串和字节数组的转换

    从 String 到 byte[]------>byte[] getBytes()

    从 byte[]到 String-------->new String(byte[] by)构造方法 .

  • 字符串和字符数组的转换

    从 String 到 char[]

    char[] toCharArray()

    length(),charAt(int index)结合

    从 char[]到 String

    new String(char[] ch)

    static copyValueOf(char[] data)

    static String valueOf(char[] data, int offset, int count)

  • static String valueOf(xxx y) xxx 基本数据类型

    举例:int x = 4;

    基本数据类型转换成字符串:String.valueOf(x);

  • static String valueOf(Object obj) 把对象转成字符串

    举例:

    Demo d = new Demo();

    sop(d);

    sop(d.toString());

    sop(String.valueOf(d));

  • String toUpperCase() 所有字符都转换为大写

    String toLowerCase() 所有字符都转换为小写

  • 字符串的连接

    字符串连接符:+

    String concat(String str) 将指定字符串连接到此字符串的结尾。

    String s = "aaa" s.concat("bbb").concat("ccc").concat("ddd");

4、替换
  • String replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替

    换此字符串中出现的所有 oldChar 得到的。

    String replace(String oldString, String newString) 返 回 一 个 新 的 字 符 串 , 它 是 通 过 用 newString 替换此字符串中出现的所有 oldString 得到的。

5、切割
  • String[] split(String regex)根据给定的字符串把字符串分割.
6、去除字符串空格
  • trim() 去除字符串的前后空格

三、StringBuffer&StringBuilder

  • 字符串String是定长的,StringBuffer是变长的

  • 元素的追加

    • insert(索引,元素)
    • reverse();反转
    • capacity();容量 它可以存储的元素个数
    • length();长度 它实际存储的元素个数
    • String substring(索引,); 把 StringBuffer 中的一部分复制,然后把复制的这部分内容赋给了一个 String.
  • StringBuffer,StringBuilder区别

    • StringBuffer 线程安全的,效率低(同步)
    • StringBuilder 线程不安全的,效率不高(不同步的)
    • 基本数据类型用比较运算符进行比较,引用数据类型用compare To进行比较

Sring StringBuffer StringBuilder封装类的更多相关文章

  1. java中 String StringBuffer StringBuilder的区别

    * String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...

  2. String,StringBuffer,StringBuilder的区别

    public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...

  3. [源码]String StringBuffer StringBudlider(2)StringBuffer StringBuilder源码分析

      纵骑横飞 章仕烜   昨天比较忙 今天把StringBuffer StringBulider的源码分析 献上   在讲 StringBuffer StringBuilder 之前 ,我们先看一下 ...

  4. 关于String StringBuffer StringBuilder

    0. String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...

  5. String, StringBuffer, StringBuilder比较

    1.见API: String是不可变的字符序列: StringBuffer是线程安全的,可变的字符序列: StringBuilder是可变的字符序列: StringBuffer与String的区别是S ...

  6. [置顶] String StringBuffer StringBuilder的区别剖析

    这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...

  7. Java学习笔记--String StringBuffer StringBuilder

    String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...

  8. String StringBuffer StringBuilder (转)

    转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...

  9. 【Java基础】String StringBuffer StringBuilder

    String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...

随机推荐

  1. luoguP2178 [NOI2015]品酒大会(后缀自动机)

    题意 承接上篇题解 考虑两个后缀的\(lcp\)是什么,是将串反着插入后缀自动机后两个前缀(终止节点)的\(lca\)!!!于是可以在parent tree上DP了. 比后缀数组又简单又好写跑的还快. ...

  2. 执行flutter doctor后,无任何反应

    flutter运行需要联网,并且由于qiang,会导致访问缓慢,解决办法 export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_ ...

  3. [LOJ 2083][UOJ 219][BZOJ 4650][NOI 2016]优秀的拆分

    [LOJ 2083][UOJ 219][BZOJ 4650][NOI 2016]优秀的拆分 题意 给定一个字符串 \(S\), 求有多少种将 \(S\) 的子串拆分为形如 AABB 的拆分方案 \(| ...

  4. Linux宝塔安装步骤

    首先:先运行 X shell 一:输入命令 Centos安装命令(一般都用这个): yum install -y wget && wget -O install.sh http://d ...

  5. 剑指offer:按之字形打印二叉树(栈|双向队列+中序遍历)

    1. 题目描述 /** 请实现一个函数按照之字形打印二叉树, 即第一行按照从左到右的顺序打印, 第二层按照从右至左的顺序打印, 第三行按照从左到右的顺序打印, 其他行以此类推. */ 2. 双向队列 ...

  6. 基于Django的Rest Framework框架的频率组件

    0|1一.频率组件的作用 在我们平常浏览网站的时候会发现,一个功能你点击很多次后,系统会让你休息会在点击,这其实就是频率控制,主要作用是限制你在一定时间内提交请求的次数,减少服务器的压力. modle ...

  7. Unity开发实战探讨-资源的加载释放最佳策略

    注:本文中用到的大部分术语和函数都是Unity中比较基本的概念,所以本文只是直接引用,不再详细解释各种概念的具体内容,若要深入了解,请查阅相关资料. Unity的资源陷阱 游戏资源的加载和释放导致的内 ...

  8. OpenCV 相机标定 findChessboardCorners() 与 cornerSubPix() 函数

    OpenCV 官方文档 findChessboardCorners():Finds the positions of internal corners of the chessboard. bool ...

  9. webapi 导入excel处理数据

    参考资料     https://blog.csdn.net/pan_junbiao/article/details/82935992 https://www.cnblogs.com/dansedia ...

  10. python 手机app数据爬取

    目录 一:爬取主要流程简述 二:抓包工具Charles 1.Charles的使用 2.安装 (1)安装链接 (2)须知 (3)安装后 3.证书配置 (1)证书配置说明 (2)windows系统安装证书 ...