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. luoguP4103 [HEOI2014]大工程

    题意 建出虚树DP. 设\(f[i]\)表示i的子树的第一问答案,\(minn[i]\)表示\(i\)的子树中到\(i\)最近的关键点,\(maxx[i]\)表示\(i\)的子树中到i距离最远的关键点 ...

  2. webapi使用ExceptionFilterAttribute过滤器

    文章 public class ApiExceptionFilterAttribute:ExceptionFilterAttribute { public override void OnExcept ...

  3. Vue 事件的基本使用与语法差异

    "v-on:"可以简写为"@" "click"单击 "dblclick"双加 代码: <!doctype html ...

  4. -bash:vi:command not find 问题解决

    Linux命令行输入命令执行后报“bash:vi:command not found”. 这是由于系统PATH设置问题,PATH没有设置对,系统就无法找到精确命令了. 1.在命令行中输入:export ...

  5. Luogu P4068 [SDOI2016]数字配对

    反正现在做题那么少就争取做一题写一题博客吧 看到题目发现数字种类不多,而且结合价值的要求可以容易地想到使用费用流 但是我们如果朴素地建图就会遇到一个问题,若\(i,j\)符合要求,那么给\(i,j\) ...

  6. Paper | Blind Quality Assessment Based on Pseudo-Reference Image

    目录 1. 技术细节 1.1 失真识别 1.2 得到对应的PRI并评估质量 块效应 模糊和噪声 1.3 扩展为通用的质量评价指标--BPRI 归一化3种质量评分 判断失真类型 加权求和 2. 总结 这 ...

  7. python django url直接访问txt文件。urls.py路由直接指向txt文件

    from django.views.generic import TemplateView urlpatterns = [ url(r'^test/',TemplateView.as_view(tem ...

  8. 使用VisualStudio或VisualStudio Code作为代码比较工具

    最近改了了几个还是用SVN托管的老项目,用的客户端是TortoiseSVN,本身这个工具比较好用,就是那个内置的比较文件差异的Diff工具太简陋了,由于TortoiseSVN支持第三方Diff查看器的 ...

  9. JavaScript 设计模式分类

    设计模式的目的是为了提高代码的整洁性.降低代码的资源占用量. JS中的设计模式可分为以下三种: 1. 创建型设计模式 说明:专注于处理对象创建的机制,以合适的方式创建对象,以此来降低创建对象过程的复杂 ...

  10. C# 去除数字中多于的0

    decimal i = decimal.Parse(Console.ReadLine()); Console.WriteLine((i).ToString(")); Console.Writ ...