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 ...
随机推荐
- Java常识2
JDK 的下载 安装 下载 官网 github安装 傻瓜式安装 JDK .JRE 注意问题 安装软件的 路径不能包含中文 空格 path环境变量 windows操作系统执行命令是所要搜寻的路径为什么要 ...
- 使用CMD命令部署.NetCore程序到IIS
dotnet restore cd src\XXXXX md publish dotnet publish -o publish cd publish set siteFilePath=%cd% se ...
- bioawk
https://github.com/lh3/bioawk 1.基本思想 使用: usage: bioawk [-F fs] [-v var=value] [-c fmt] [-tH] [-f pro ...
- Codeforces Round #554 (Div. 2) D 贪心 + 记忆化搜索
https://codeforces.com/contest/1152/problem/D 题意 给你一个n代表合法括号序列的长度一半,一颗有所有合法括号序列构成的字典树上,选择最大的边集,边集的边没 ...
- MySQL实战45讲学习笔记:第三十八讲
一.本节内容 我在上一篇文章末尾留给你的问题是:两个 group by 语句都用了 order by null,为什么使用内存临时表得到的语句结果里,0 这个值在最后一行:而使用磁盘临时表得到的结果里 ...
- 如何在Console下面生成一个WIN32窗口
一个小挑战? VS2017里面,新建一个控制台工程,输入名字(你不需要也成,有默认的),得到一个控制台工程. 好了,生成的代码,如下: // Win32InConsole.cpp : This fil ...
- 传统码头建设企业:Azure DevOps Server 流水线技术沟通
受某码头建设企业的邀请,与企业软件研发团队就如何利用Azure DevOps Server进行了沟通.结合企业当前技术框架和管理流程,探索利用微软Azure DevOps Server的技术能力,加强 ...
- Linux下启动SpringBoot打包的jar
前言 这两天把视力档案后台部署的方式改了一下,由原来打包成war包,部署到一个tomcat里面,转变成直接打包成jar包,然后使用 java -jar命令进行启动 下面讲讲遇到的问题 1)java - ...
- php json_decode无法处理\解决方法
php json_decode无法处理\解决方法 <pre>$aa=urlencode('eee\ee');$dfda='[{"company":"测试&qu ...
- JavaScript DOM 常用操作
1.理解DOM: DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口. 怎么说,我从两个角度理解: 对于JavaScript ...