String类适用于描述字符串事物,它提供了多个方法对字符串进行操作,其常见的操作有:
1,获取
1.1,字符串中包括的字符数,也就是字符串的长度
其方法是:int length();
如:
class StringDemo{
public static void main(String[] args){
String s="abcdef";
int x=s.length();
System.out.println(x);
}
}
1.2,根据位置获取位置上的某个字符
其方法是:char charAt(int index);
如:
class StringDemo{
public static void main(String[] args){
String s="abcdef";
char ch=s.charAt(3);//获取脚标为3的字符,若访问到的字符串中不存在的脚标时,会显示脚标越界异常。
System.out.println(x);
}
}
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在字符串中出现的位置
int lastindexOf(int ch);返回的是ch字符在字符串中最后一次出现的位置
如:
class StringDemo{
public static void main(String[] args){
String s="abcdef";
int x=s.indexOf('c',1);//从脚标为1的位置开始去找c第一次出现的位置,若没有找到则返回-1
System.out.println(x);
}
}
2,判断
2.1,字符串中是否包含某一个字符串
其方法是:boolean contains(str);
如:
class StringDemo{
public static void main(String[] args){
String s="abcdef";
boolean flag;
flag=s.cantains('d');
System.out.println(flag);//若包含c打印true,否则打印false
}
}
注意事项:indexOf(str)可以索引str第一次出现位置,如果返回是-1,表示该str不在字符串中存在。
所以,也可以用于判断指定的str判断是否包含。
而且该方法既可以判断,还可以获取出现位置。
2.2,字符串中是否有内容
其方法是:boolean isEmpty();
如:
class StringDemo{
public static void main(String[] args){
String s="abcdef";
boolean flag;
flag=s.isEmpty();
System.out.println(flag);//若字符串为空打印true,否则打印false
}
}
2.3,字符串中是否以指定的内容开头
其方法是:boolean startWith(str);
如:
class StringDemo{
public static void main(String[] args){
String s="abcdef";
boolean flag;
flag=s.startWith('f');
System.out.println(flag);//若字符串以f 开头打印true,否则打印false
}
}
2.4,字符串中是否以指定的内容结尾
其方法是:boolean endsWith(str);
如:
class StringDemo{
public static void main(String[] args){
String s="abcdef";
boolean flag;
flag=s.endsWith('f');
System.out.println(flag);//若字符串以f结尾打印true,否则打印false
}
}
2.5,判断字符串内容是否相同,复写了Object类中的equals方法
其方法是:boolean equals(str);
如:
class StringDemo{
public static void main(String[] args){
String s1="abcdef";
String s2="sfgeinf";
boolean flag;
flag=s1.equals(s2);
System.out.println(flag);//若字符串s1的内容和s2相同则打印true,否则打印false
}
}
2.6,判断内容是否相同,并忽略大小写
其方法是:boolean equalsIgnoreCase(str);
如:
class StringDemo{
public static void main(String[] args){
String s1="abcdef";
String s2="sfgeinf";
boolean flag;
flag=s1.equalsIgnoreCase(s2);
System.out.println(flag);//若字符串s1的内容和s2相同(忽略大小写之分)则打印true,否则打印false
}
}
3,转换
3.1,将字符数组转成字符串
构造函数:
String(char[])
String(char[],offset,count)将字符数组中的一部分转成字符串。
静态方法:
static String copValueOf(char[]);
static String copValueOf(char[] data,int offset,int count);
static String valueOf(char[]);
3.2,将字符串转成字符数组
其方法是: char[] toCharArray();
如:
class StringDemo{
public static void main(String[] args){
String s="kdfhuev ";
char[] chs=s1.toCharArray()
for(int x=0;x<chs.length;x++){
System.out.println(chs[x]);
}
}
}
3.3,将字节数组转成字符串
其方法是:String(byte[])
String(byte[],offset,count)将字节数组中的一部分转成字符串
3.4,将字符串转成字节数组
其方法是:byte[] getBytes();
3.5,将基本数组类型转成字符串
其方法是: static String valueOf(int);
static String valueOf(double);
4,替换
其方法是:String replace(oldchar,newchar);
如:
class StringDemo{
public static void main(String[] args){
String s="abcdff kkeona ";
String[] s1=s.replace('a','j');
System.out.println(s1);
}
}
5,切割
其方法是:String[] split(regex);
如:
class StringDemo{
public static void main(String[] args){
String s="abcdff ,kkeona,iewufb ";
String s1=s.split(',');
for(int i=0;i<arr.length;i++){
System.out.println(arr[x]);
}
}
}
6,子串,即获取字符串中的一部分
其方法是:String substring(begin);
String substring(begin,end);
如:
class StringDemo{
public static void main(String[] args){
String s="abcdff kkeona ";
System.out.println(s.substring(1));//从指定位置开始到结尾。cdef 如果角标不存在,会显示角标越界异常
System.out.println(s.substring(3,6));//包含头,不包含尾
}
}
7,转换,去除空格,比较
7.1,将字符串转成大写或者小写
其方法是:String toUpperCase();
String toLowerCase();
如:
class StringDemo{
public static void main(String[] args){
String s1="abcdef";
String s2="ABCDEF";
System.out.println(s1.toUpperCase());
System.out.println(s2.toLpwerCase());
}
}
7.2,将字符串两端的多个空格去除
其方法是:String trim();
如:
class StringDemo{
public static void main(String[] args){
String s=" abcdef ";
String s1=s.trim();
System.out.println(s1);
}
}
7.3,对两字符串进行自然顺序的比较
其方法是:int compareTo(String);
如:
class StringDemo{
public static void main(String[] args){
String s1=" abck ";
String s2="jieav";
int x=s1.compareTo(s2);
System.out.println(x);/若/s1比s2大返回正数,s1和s2一样大返回0,s1比s2小返回负数
}
}