【方法一】length():获取字符串长度
String str = "天天撸代码";
System.out.println("字符串长度:" + str.length());
【方法二】charAt(int index):获取某个索引位置的字符
String str = "天天撸代码";
System.out.println("字符串索引3的字符:" + str.charAt(3));
【方法三】toCharArray():将字符串转换为字符数组
String str = "天天撸代码";
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
【方法四】equals(String str):判断字符串内容是否相等,注意区别于“==”
String str1 = "java";
String str2 = "java";
// 字符串的.equals()方法比较的是字符串的内容
System.out.println(str1.equals(str2));
// ==比较的是字符串的地址,但因为有字符串常量池的存在,故str1,str2指向的地址是相同的,所以返回true
// 如果是以new String("java")的方式创建对象,那么无论内容是否相等,==判断返回的都是false
System.out.println(str1 == str2);
值得注意的是,如果某一字符串是明确的,比如“Moon”,判断另一字符串内容是否与“Moon”相等。"Mood".equals(str)比str.euqals("Mood")要好,因为str是变量,变量可能是null,前面那种写法不会报错。
【方法五】equalsIgnoreCase():忽略大小写判断字符串内容是否相等
String str1 = "Transient";
String str2 = "transient";
System.out.println(str1.equalsIgnoreCase(str2));
【方法六】substring(int start, int end):截取字符串内容,包头不包尾,索引从0开始
String str1 = "Transient";
String str2 = str1.substring(2,4);
System.out.println(str2);
【方法七】substring(int start):方法六的重载方法,从当前索引位置一直截取到字符串末尾
String str1 = "Transient";
String str2 = str1.substring(2);
System.out.println(str2);
【方法八】replace(String target, String replacement):字符串替换,把字符串中的target替换成replacement,并把替换后的字符串返回
String str1 = "Transient";
String str2 = str1.replace("T", "t");
System.out.println(str2);
【方法九】contains(String str):判断字符串中是否包含str
String str1 = "Transient";
System.out.println(str1.contains("ran"));
【方法十】startsWith(String str):判断字符串是否以str开头,比如名字的姓氏判断
String str1 = "Transient";
System.out.println(str1.startsWith("Tran"));
【方法十一】split(String str):把字符串按照某个指定内容分割成多个字符串,返回一个字符串数组
// 注意,如果“,”左右加了空格,分割之后的子串也有空格的
String str1 = "Transient,transient,transience";
String[] strings = str1.split(",");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}