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. 第十周计划周二&周三计划

    今天又一次被导师训了,怎么也达不到他的要求,好像我俩不在一条线上.所以现在重新整理一遍思路,继续走. 我认为重点还是主题追踪这一块,但是主题追踪的结果以及显示是个问题,目前还是打算做出来当天最热的前几 ...

  2. appium--python启动appium服务

    前戏 前面我们都是在cmd下通过输入appium加端口号来启动服务的,在我们做自动化的时候,我们当然不希望我们手动启动appium服务,而是希望通过脚本自动启动appium服务. 我们可以使用subp ...

  3. 【转】ServletContext介绍及用法

    1.1.  介绍 ServletContext官方叫servlet上下文.服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象.这个对象全局唯一,而且工程内部的所有servl ...

  4. python3 消耗CPU的性能,使CPU满载(可以设置进程名称)

    需要安装库:setproctitle    1.1.10,设置进程名称,测试操作系统centos 7.0 # -*- coding: utf-8 -*- from multiprocessing im ...

  5. 奥展项目笔记04--Spring cloud 通过父工程打包多个子工程,导出可运行的Jar包

    在spring cloud微服务搭建过程中,我们创建了多个微服务模块,如图: 1.父工程Pom文件 <?xml version="1.0" encoding="UT ...

  6. Python Jupyter 网站编辑器

    Python Jupyter 网站编辑器 jupyter 是 python的网站编辑器可以直接在网页内编写python代码并执行,内置是通过ipython来调用的.很方便灵活. 安装 1.安装ipyt ...

  7. DAX 第九篇:文本函数

    DAX中用于处理文本的函数,和其他语言很相似. 一,文本连接 文本连接也可以使用操作符 & 来实现,也可以使用函数CONCATENATE来实现: CONCATENATE(<text1&g ...

  8. AJAX发送异步请求教程详解

    AJAX 一.AJAX简介 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可 ...

  9. Java生鲜电商平台-提现模块的设计与架构

    Java生鲜电商平台-提现模块的设计与架构 补充说明:生鲜电商平台-提现模块的设计与架构,提现功能指的卖家把在平台挣的钱提现到自己的支付宝或者银行卡的一个过程. 功能相对而言不算复杂,有以下几个功能需 ...

  10. EF性能优化篇一

    https://www.cnblogs.com/chenwolong/p/7531955.html 1.合理使用AsNoTracking 若对查询的数据不需要做任何修改,则可采用AsNoTrackin ...