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. CF1249F Maximum Weight Subset

    CF1249F Maximum Weight Subset 洛谷评测传送门 题目描述 You are given a tree, which consists of nn vertices. Reca ...

  2. map 基本使用

    package main import "fmt" func main(){ //定义一个map变量,类型为map[int]string,如果使用map一定初始化,make分配空间 ...

  3. h5 ios移动端,键盘收起以后页面不归位

    $('input,textarea').on('blur',function(){ window.scroll(0,0); }); $('select').on('change',function() ...

  4. sed命令常用用法

    1.字符串替换 sed -i "s/xxx/yyy/g" /home/test.log // 将home目录下的test.txt文件中的所有xxx字符串替换成yyy字符串 sed ...

  5. redis命令之 ----List(列表)

    BLPOP BRPOP BRPOPLPUSH LINDEX LINDEX key index 返回列表 key 中,下标为 index 的元素. 下标(index)参数 start 和 stop 都以 ...

  6. Sitecore 8.2 渠道简介

    渠道是联系人通过广告系列或面对面与您的品牌互动时所使用的路径.联系人可以通过手机上的应用与您的品牌互动,点击社交网络上的广告访问您的网站,或访问实体店购买商品.使用Sitecore体验平台,您可以使用 ...

  7. AngleSharp 实战(01)之最简单的示例

    文档地址:https://anglesharp.github.io/docs/Examples.html 直接贴代码了: using System; using System.Linq; using ...

  8. Spring Security OAuth2 Demo —— 客户端模式(ClientCredentials)

    前情回顾 前几节分享了OAuth2的流程与其它三种授权模式,这几种授权模式复杂程度由大至小:授权码模式 > 隐式授权模式 > 密码模式 > 客户端模式 本文要讲的是最后一种也是最简单 ...

  9. Kubernetes Pod 调度约束

    Kubernetes Pod 调度约束 可以将pod调度到指定的节点Node内 默认:根据节点资源利用率等分配Node节点. nodeName用于将Pod调度到指定的Node名称上 nodeSelec ...

  10. 记录一个终端入网小助手的bug

    背景:技术leader拿到一台超薄笔记本,系统标准化安装,笔记本一开机风扇嗡嗡响,键盘也开始发烫,资源占用排名前三的进程都是终端管理软件,一下子就找上门了.处理:进程分析发现异常,卸载入网小助手后恢复 ...