---------------------- android培训、java培训、期待与您交流! ----------------------
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在字符串中出现的位置。
2.判断。
2.1字符串中是否包含某一个子串。
boolean contains(str);
特殊之处:indexOf(str);可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在
所以,可以用于对指定判断是否包含。
if(str.indexOf("aa"!=-1)
而且该方法既可以判断,又可以获取出现的位置。
2.2字符串是否有内容。
boolean isEmpty(); 原理就是普安端长度是否为0.
2.3字符串是否是以指定内容开头。
boolean startWith(str);
2.4字符串是否是以指定内容结尾。
boolean endWith(str);
2.5判断字符串内容是否相同。 复写了Object类中的equals方法。
boolean equals(str);
2.6判断内容是否相同,并忽略大小写。
boolean equalsIngnoreCase();
3.转换
3.1将字符数组转换成字符串。
构造函数:String(char[]);
String(char[],offset,count):将字符数组中的一部分转换成字符串。
静态方法:
static String copyValueOf(char[]);
copyValueOf(char[],data,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将基本数据类型转换成字符串。
String valueOf(int);
String valueOf(double);
3+"";//String.valueOf(3);
特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
3.6
4.替换
String replace(oldchar,newchar);
5.切割
String[] split(regex);
6.子串。获取字符串中的一部分。
String substring(begin,end);
7.转换,去除空格,比较。
7.1将字符串转换成大写或者小写。
7.2将字符串两端的多个空格去除。
thim();
7.3对两个字符串进行自然顺序的比较。
int compareTo(string);
package com.string.day;
public class StringDemo {
public static void main(String[] args) {
// String s1 ="abc";
// String s = new String("abc");
//
// String s2 = "abc";
// System.out.println(s1==s);//false
// System.out.println(s1==s2);//true
//method_get();
//method_is();
//method_trans();
//method_replace();
//method_split();
method_sub();
}
public static void method_get(){
String str = "abcdefakp";
//长度
//sop(str.length());
//根据索引获取字符。
//sop(str.charAt(4));//当访问到字符串中不在的角标时会产生StringIndexOutBoundException.
//根据字符获取索引
sop(str.indexOf('a',1));//如果没有找到,返回-1.
//反响索引一个字符出现的位置。
//sop(str.lastIndexOf("a"));
sop(str.codePointAt(8));
// sop(str.intern());
}
public static void sop(Object obj){
System.out.println(obj);
}
public static void method_is(){
String str = "ArrayDemo.java";
//判断文件名称是否是Array单词开头。
sop(str.startsWith("Array"));
//判断文件名是否是.java的文件。
sop(str.endsWith(".java"));
//判断文件中是否包含Demo
sop(str.contains("Demo"));
}
public static void method_trans(){
char[] arr ={'a','b','c','d','e'};
String s = new String(arr,1,3);
sop("s= " +s);
String s1 = "axcvbnm";
char[] chs = s1.toCharArray();
for(int x = 0 ; x < chs.length; x ++){
sop("ch=" +chs[x]);
}
}
//替换
public static void method_replace(){
String s = "hello java";
//String s1 = s.replace('a', 'n');//如果要替换的字符不存在,还是原字符。
String s1 = s.replace("java", "word");
sop("s=" + s );
sop("s1= " + s1);
}
//切割
public static void method_split(){
String s = "zhangsan,lisi,wangwu";
String[] arr = s.split(",");
for(int i = 0 ; i < arr.length ; i ++){
sop(arr[i]);
}
}
public static void method_sub(){
String s = "abcdef";
sop(s.substring(2));//从指定位置到结尾,如果角标不存在,会出现角标异常。
sop(s.substring(2, 4));//包含头不包含尾。s.substring(0,s.length());//可以实现split的功能。
}
}
StringBuffer
是字符串缓冲区。 是一个容器。而且长度是可变的,可以操作多个数据类型。最后会通过toString方法变成字符串。
线程安全的可变字符序列。
存储。StringBuffer append(); 将制定数据作为餐宿添加到已有数据结尾处。
insert(Index,数据);可以将数据插入在制定位置。但是可能会产生角标异常。切记。
删除。StringBuffer delete(start,end); 删除缓冲区中的数据,包含start不包含end。
StringBuffer deleteCharAt(index);删除制定位置的字符。
获取。
char charAt(int index);
int indexOf(String str);
int lengh();
String substring(start,end);
修改。
void setCharAt(int index,cahr ch);//替换一个 字符。
StringBuffer replace(start,end,String);//包含start不包含end 替换制定的数据。
反转。SringBuffer reverse();
将缓冲区中制定数据存储到制定数组中。
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin);
StringBuilder
一个可变的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步。该类被设计用作
StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima