关于String方法整理集合

String 本质就是字符数组

特点;
1,String是一个final修饰的类,不能够被继承
2,类似"abd"这样的字符串字面值常量也是String类的对象,既然是对象,就可访String的成员
3,他们的值在创建后不能被更改,但是可以被共享
4,字符串缓冲区支持可变字符串【StringBuffer、StringBuilder】
5,如果字符串的拼接操作非常频繁,那么String的效率不高,会在常量池创建大量的字符串,所以建议使用字符串缓冲区

构造方法 
//public   String (char [] value)将字符数组转换成字符串
char[ ] value = {'a' , 'b' , 'c' };
String s3 = new String (value);

public String (byte[ ] bytes) 将字节数组转换成字符串
String s5 = new String(new byte [ ] {97,98,99,100});

public String(byte [ ] bytes, int offset , int lenght)将字节数组的一部分转换成字符串
String s6 = new String(new byte [ ] {97 ,98,99,100},1,2 )

String(byte[ ] bytes,String charsetName)使用编码处理字符串 后面讲解IO流的时候讲解
String s7 = new String("张三".getBytes(),"gbk");

字符串的常用方法
char charAt (int index) 从左往右找index索引
int indexOf (int ch )  从左往右找第一个出现字符ch所对应的索引
int indexOf (String str)	  从左往右找第一个出现字符串str所对应的索引
int indexOf (int ch ,int fromIndex)
int indexOf (String str,int fromIndex)	
从fromlndex索引开始从左往右找第一次出现ch,str的字符,或者字符串的索引
int lastIndexOf (int ch)	从右往左找第一个出现字符ch所对应的索引
int lastIndexOf (int ch,int fromIndex)
int lastIndexOf (String str,int fromIndex)
从fromlndex索引开始从右往左找第一次出现ch,str的字符,或者字符串的索引
String substring (int start)	从start开始截取到末尾
String substring (int start,int end)  左闭右开原则
int length()
注意 lenght,length(),size()的区别	

字符串常用方法

boolean	isEmpty();判断字符是否为空
boolean	equals(object  obj);讲此字符串的内容与指定的对象比较,区分大小写
boolean	equalsInoreCase(String str);讲此String与另一个String比较,忽略大小写
boolean	contains(String str);判断字符串中是否包含方法传入的字符串
boolean	startsWith(String str);判断字符串是否以某个指定的字符串开头
boolean	endsWith(String str);判断字符串是否已某个指定的字符串结尾
字符要变成字符串怎么做
		char ch = 'a';
		String s2 = ch + "";
		System.out.println(s2);

byte[ ] getBytes( ) ; 将字符串转化为字节数组,此方法也是编码的过程
char[ ] toCharArray( );将字符串转换为字符数组
static String valueof(char[ ]chs);返回char 数组参数的字符串表示形式
(任何参数类型都能转换成字符串)
String toLowerCase();将此String中的所有字符都转换为小写
String toUpperCase();将此String中的所欲字符偶转换为大写
String concat(String str);将指定字符串连接到此字符串的结尾

join 结合

String replace(char old,char new) :替换功能。
	String replace(String old,String new) :替换功能。
	String trim():去除字符串两空格。
	int compareTo(String str) :按字典顺序比较两个字符串。
	int compareToIgnoreCase(String str):按字典顺序比较两个字符串,忽略大小写。
	public String[] split(String regex):分隔字符串成字符数组。

StringBuffe,StringBuffder

String 每拼接一个字	符串,系统都会开辟一个新的内存空间,这样耗时又占用了大量空间
StringBuffer就可以处理这个问题,他是一个字符串缓冲区

StringBuffer类概述
线程安全的可变字符串序列,一个类似于String的字符串缓冲区,但不能修改。虽然在任意时间上他都包含某种特点的字符序列,但通过某些方法调用可以改变该序列的长度和内容

特点;
1,可变长的字符序列
2,线程安全,效率低
线程(工作线程)
安全性
效率
二者只能取其中之一

增删查改
增;
StringBuffer	append(String   str)
StringBuffer	insert(int   offset,String   str)
删;
StringBuffer   deleteCharAt(int   index)
StringBuffer   delete(int   start,int   end)
改;
public   StringBuffer   replace(int   start,int   end,String   str)
其他;
public   StringBuffer   reverse()
public   String   substring(int   start)
public   String   substring(int   start,int   end)

StringBuffder
一个可变的字符序列。此类提供一个StringBuffer 兼容APi,但不保证同步。线程不安全,效率高
用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)
建议优先采用该类,因为大多数他比StringBuffer要快,用法和StringBuffer一样

String,StringBuffer,StringBuilder 三者的区别
三者都是字符数列,
StringBuffer  安全但是效率低
StringBuilder 不安全但是效率高

猜你喜欢

转载自blog.csdn.net/Mz8520/article/details/89476958