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. 实验1c语言的开发环境使用和数据类型,运算符,表达式

    #include<stdio.h> int main() { printf("); ; } /*求两个整数的乘积*/ #include<stdio.h> int pr ...

  2. [LeetCode] 238. Product of Array Except Self 除本身之外的数组之积

    Given an array nums of n integers where n > 1,  return an array output such that output[i] is equ ...

  3. Tomcat配置https访问

    1.利用JDK自带的keytools生成一个p12类型的证书 keytool -genkey -storetype PKCS12 -alias tomcat -keyalg RSA -keysize ...

  4. (三十一)golang--面向对象之工厂模式

    golang面向对象中是不存在构造函数的,可以使用工厂模式.   使用工厂模式,让即使不是大写的变量可以被外部包使用.

  5. 在项目中使用Solr

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  6. ThinkPHP查询数据的时候toArray()报错解决办法

    当查找不到数据时toArray()会报错,如图 解决办法:先查找数据,然后加个判断,如果有数据再转化为数组,如果没有数据就给个空值,不想代码继续往下执行就return false;

  7. AngleSharp 实战(05)之遍历内部子元素(x)元素,尝试着获取元素的 Attr 和 InnerText

    直接贴代码了: using System; using System.Linq; using System.Threading.Tasks; using AngleSharp; using Angle ...

  8. 记录自己运行eShopOnContainers过程中遇到的坑

    由于各种各样的问题,依照官方文档运行eShopOnContainers项目遇到了好多莫名其妙的错误. 好在最后都解决了,在此记录,以防自己以后再遇到,也为遇到同样问题的同学提供参考. 参考的官方文档 ...

  9. 最简单取得外网IP

    #coding=utf-8import urllib2import re print re.search('\d+\.\d+\.\d+\.\d+',urllib2.urlopen("http ...

  10. javascript 关于赋值、浅拷贝、深拷贝的个人理解

    关于赋值.浅拷贝.深拷贝,以前也思考良久,很多时候都以为记住了,但是,我太难了.今天我特地写下笔记,希望可以完全掌握这个东西,也希望可以帮助到任何想对学习这个东西的同学. 一.栈.堆.指针地址 栈内存 ...