Java字符串——String的常用方法、字符串与byte数组间的相互转换
- 常用方法简介
- 案例1:length(),charAt(),substring()
- 案例2:indexOf(),lastIndexOf()
- 案例3:字符串与byte数组间的相互转换
常用方法简介
方法 | 说明 |
int length() | 返回当前字符串的长度 |
int indexOf(int ch) | 查找ch字符在该字符串中第一次出现的位置 |
int indexOf(String str) | 查找str字符串在该字符串中第一次出现的位置 |
int lastIndexOf(int ch) | 查找ch字符在该字符串中最后一次出现的位置 |
int lastIndexOf(String str) | 查找str字符串在该字符串中最后一次出现的位置 |
String substring(int beginIndex) | 获取从beginIndex位置开始到结束的字符串 |
String substring(int beginIndex, int endIndex) | 获取从beginIndex位置开始到endIndex的字符串 |
String trim() | 返回去除了前后空格的字符串 |
boolean equals(Object obj) | 将该字符串与指定对象比较,返回true或false |
String toLowerCase() | 将字符串转换为小写 |
String toUpperCase() | 将字符串转换为大写 |
String[] aplit(String regex, int limit) | 将字符串分割为子字符串,返回字符串数组 |
byte[] getBytes() | 将该字符串转换为byte数组 |
注:CharAt(m):取出第m个位置的字符。
案例1:length(),charAt(),substring()
public class StringDemo1 {
public static void main(String[] args) {
//定义一个字符串"JAVA 编程 基础"
String str="JAVA 编程 基础";
//打印输出字符串的长度
System.out.println("字符串的长度是:"+str.length());
//取出字符'程'并输出
System.out.println(str.charAt(6));
//取出子串"编程 基础"并输出
System.out.println(str.substring(5));
//取出子串"编程"并输出
System.out.println(str.substring(5, 7));
}
}
运行结果:
字符串的长度是:10
程
编程 基础
编程
案例2:indexOf(),lastIndexOf()
public class StringDemo2 {
public static void main(String[] args) {
// 定义一个字符串"JAVA编程基础,我喜欢java编程"
String str=new String("JAVA编程基础,我喜欢java编程");
String s = null;
System.out.println(s);
//查找字符'A'在字符串中第一次出现的位置
System.out.println("字符'A'在字符串中第一次出现的位置"+str.indexOf('A'));
//查找子串"编程"在字符串中第一次出现的位置
System.out.println("子串\"编程\"在字符串中第一次出现的位置"+str.indexOf("编程"));
//查找字符'A'在字符串中最后一次出现的位置
System.out.println("字符'A'在字符串中最后一次出现的位置"+str.lastIndexOf('A'));
//查找子串"编程"在字符串中最后一次出现的位置
System.out.println("子串\"编程\"在字符串中最后一次出现的位置"+str.lastIndexOf("编程"));
//在字符串index值为8的位置开始,查找子串"编程"第一次出现的位置
System.out.println("在字符串index值为8的位置开始,查找子串\"编程\"第一次出现的位置"+str.indexOf("编程", 8));
}
}
运行结果:
null
字符'A'在字符串中第一次出现的位置1
子串"编程"在字符串中第一次出现的位置4
字符'A'在字符串中最后一次出现的位置3
子串"编程"在字符串中最后一次出现的位置16
在字符串index值为8的位置开始,查找子串"编程"第一次出现的位置16
注:要想打印输出双引号,需要使用转义字符“\”。
案例3:字符串与byte数组间的相互转换
public static void main(String[] args) throws UnsupportedEncodingException {
// 字符串和byte数组之间的相互转换
//定义一个字符串
String str=new String("JAVA 编程 基础");
//将字符串转换为byte数组,并打印输出
byte[] arrs=str.getBytes("GBK");
for(int i=0;i<arrs.length;i++){
System.out.print(arrs[i]+" ");
}
System.out.println();
//将byte数组转换为字符串
String str1=new String(arrs,"GBK");
System.out.println(str1);
}
}
运行结果:
74 65 86 65 32 -79 -32 -77 -52 32 -69 -7 -76 -95
JAVA 编程 基础
注:
(1) 工程右键Properties查看编码方式;
(2) 在utf-8编码方式下,每个汉字占3个字节;
(3) 编码方式一定要在工程开始之前就确定下来。