Sring StringBuffer StringBuilder封装类
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封装类的更多相关文章
- java中 String StringBuffer StringBuilder的区别
* String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...
- String,StringBuffer,StringBuilder的区别
public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...
- [源码]String StringBuffer StringBudlider(2)StringBuffer StringBuilder源码分析
纵骑横飞 章仕烜 昨天比较忙 今天把StringBuffer StringBulider的源码分析 献上 在讲 StringBuffer StringBuilder 之前 ,我们先看一下 ...
- 关于String StringBuffer StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
- String, StringBuffer, StringBuilder比较
1.见API: String是不可变的字符序列: StringBuffer是线程安全的,可变的字符序列: StringBuilder是可变的字符序列: StringBuffer与String的区别是S ...
- [置顶] String StringBuffer StringBuilder的区别剖析
这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...
- Java学习笔记--String StringBuffer StringBuilder
String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...
- String StringBuffer StringBuilder (转)
转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...
- 【Java基础】String StringBuffer StringBuilder
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...
随机推荐
- 【CF464E】The Classic Problem(主席树+最短路)
点此看题面 大致题意: 给你一张无向图,每条边的边权为\(2^{x_i}\),求\(s\)到\(t\)的最短路. 最短路 最短路,首先考虑\(Dijkstra\).这里用\(SPFA\)似乎不太好,因 ...
- 题解 P3693 【琪露诺的冰雪小屋】
知识点: 模拟 , 信仰 原题面 大 型 车 万 众 自 裁 现 场 分析题意: 操作: ICE_BARRAGE R C D S R:行 , C:列, D:方向 , S:强度 在(R,C) 向 D 射 ...
- Pencil 基于Electron的GUI原型工具之菜单三探 印象笔记同步
今天一鼓作气实现Pencil整合印象笔记同步的功能. 缘起,像Sketch或者Adobe XD等一些工具都开始陆续支持整合阿里巴巴的"语雀"云服务,将设计文档同步到云端,便于团队协 ...
- 小小见解之python循环依赖
a.py from b import b print '---------this is module a.py----------' def a(): print "hello, a&qu ...
- 【前端知识体系-JS相关】深入理解JavaScript原型(继承)和原型链
1. Javascript继承 1.1 原型链继承 function Parent() { this.name = 'zhangsan'; this.children = ['A', 'B', 'C' ...
- 【前端知识体系-JS相关】对移动端和Hybrid开发的理解?
1.hybrid是什么,为何使用hybrid呢? 概念: hybrid就是前端和客户端的混合开发 需要前端开发人员和客户端开发人员配合完成 某些环节也可能会涉及到server端 大前端:网页.APP. ...
- jQuery 源码分析(四) each函数 $.each和$.fn.each方法 详解
$.each一般用来遍历一个数组或对象,$.fn.each()就是指jQuery实例可以执行的操作(因为$.fn是jQuery对象的原型) $.each用来遍历一个数组或对象,并依次执行回掉函数,最后 ...
- 查询SAP系统支持的ABAP版本
7.52可以使用select 内表,但是怎么看版本呢? 如果有在开发中用到ABAP 7.4&7.5个版本的新语法时,需要考虑到系统支持的ABAP版本,那么要怎么查看呢? 其实这个和SAP的内核 ...
- GitHub中文社区
今天在打开GitHub的时候,使用了bing.com搜索,输入GitHub进行搜索链接,排名第一的为GitHub中文社区,点击去发现这个社区还可以,我们看看GitHub中文社区有哪些好的地方 GitH ...
- ASP.NET Core 开发人员异常页面
UseDeveloperExceptionPage 中间件 我们谈谈在 Startup 类的 Configure()方法中以下代码: public void Configure(IApplicatio ...