------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
String类是用于描述字符串事物。那么它提供多个方法对字符串进行操作。
StringBuffer是字符串缓冲区,
且是一个容器,
特点:(和数组的区别)
1. 是可变长度的,
2. 可以直接操作多个数据类型,
3.最终通过toString方法变成字符串。
------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
- String类
字符串是一个特殊的对象字符串一旦初始化就不可以被改变。
String str = "abc";// str是一个类类型变量,"abc"是一个对象。// 字符串最大特点: 一旦被初始化,不可以被改变。
String str1 = new String("abc");public final class String extends Object不能被继承。
equals比较的是内存地址。
str==str1;//falsestr.equals(str1);//true
- str和str1有什么区别?
str在内存中有一个对象。str1在内存中有两个对象。
String类复写了Object类中equals方法,该方法用于判断字符串是否相同。
String类是用于描述字符串事物。那么它提供多个方法对字符串进行操作。
常见的操作有哪些?"abcd"1.获取1.1字符串中包含的字符数,也就是 字符串的长度int length();获取长度。1.2 根据位置获取位置上的某个字符。char charAt(int index);1.3 根据字符获取该字符在字符串中的位置。int indexOf(int ch),返回的是ch在字符串中第一次出现的位置。int indexOf(int ch,int fromIndex);从fromIndex指 定位置开始索引,获取ch在字符串出现的位置。int indexOf(String str),返回的是str在字符串中 第一次出现的位置。int indexOf(String str,int fromIndex);从fromIndex 指定位置开始索引,获取str在字符串出现的位置。i nt lastIndexOf(int ch);根据字符反向索引位置
2.判断2.1字符串中 是否包含某一个子串。boolean contains(str);特殊之处:indexOf(str);可以索引str第一次出现的位置,如果返回-1表示该str不在字符串中存在,所以也可以用于对指定字符串的判断是否包含。if(str.indexOf("aa")!=-1)而且该方法既可以判断,又可以获取出现的位置。2.2字符串 是否有内容。boolean isEmpty();//原理就是判断长度是否为0.2.3字符串是否以指定内容 开头。boolean startsWith(str);2.4字符串是否以指定内容 结尾。boolean endsWith(str);2.5判断字符串 内容是否相同。复写了Object类的equals方法。boolean equals(str);2.6 判断内容是否相同,并忽略大小写。boolean equalsIgnoreCase();3.转换3.1将字符数组转成字符串构造函数: String(char[]);String(char[],offset,count);将字符数组中的一部分转成字符串静态方法: static String copyValueOf(char[]);static String copyValueOf(char[],int offset,int count);static String ValueOf(char[]);3.2将字符串转成字符数组 **char[] toCharArray();3.3将字节数组转成字符串String(byte[]);String(byte[],offset,count);3.4将字符串转成字节数组byte[] getBytes();3.5将基本数据类型转成字符串。static String valueOf(int)static String valueOf(double)//3+"abc"; //String.valueOf(3);特殊:字符串和字节数组在转换过程中,是可以指定编码表的。4.替换String replace(oldchar,newchar);5.切割String[] split(regex);6.子串 。获取字符串中的一部分String substring(int beginindex);Stirng substring(int beginindex,int endinde);获取头不获取尾7.转换,去除空格,比较。7.1将字符串转成大写或则小写。String toUpperCase();String toLowerCase();7.2将字符串两端的空格去掉。String trim();7.3对两个字符串进行自然顺序比较。int compareTo(String);
StringBuffer是字符串缓冲区,
且是一个容器,
特点:(和数组的区别)
1. 是可变长度的,
2. 可以直接操作多个数据类型,
3.最终通过toString方法变成字符串。
C create U update R read D delete
1.存储。
StringBuffer append();将制定的数据作为参数添加到已有数据的结尾处。
StringBuffer insert(index,数据);可以将数据插入到制定index位置。
2.删除。
StringBuffer delete(start,end);删除缓冲区中的数据,包含头不包含尾
StringBuffer deleteCharAt(index);删除指定位置的字符。
3.获取。
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4.修改。
StringBuffer replace(start,end,string);
void setCharAt(int index,char ch);
5.反转。
StringBuffer reverse();
6.将缓冲区中的数据存储到指定数组中。
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
JDK1.5版本之后出现了StringBuilder
StringBuffer是线程同步的,线程安全。
StringBuilder是线程不同步,效率更高。
开发建议使用StringBuilder。
Java的升级三要素:
1.提高效率
2.简化书写
3.提高安全性
2.简化书写
3.提高安全性