String类的常见方法(笔记)
1. charAt(int index)
返回此字符串中指定索引处的字符。
String str = "hello";
char ch = str.charAt(1); // 获取字符串中索引为1的字符,结果为 'e'
2. compareTo(String anotherString)
按字典顺序比较两个字符串。
如果参数字符串等于此字符串,则返回值为0;如果此字符串小于字符串参数,则返回一个小于0的值;如果此字符串大于字符串参数,则返回一个大于0的值。
String str1 = "abc";
String str2 = "def";
int result = str1.compareTo(str2); // 按字典序比较,结果为负数,因为 "abc" 在 "def" 之前
3. concat(String str)
将指定的字符串连接到该字符串的末尾。
String str1 = "hello";
String str2 = "world";
String str3 = str1.concat(str2); // 将字符串连接起来,结果为 "helloworld"
4. contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
String str = "hello world";
boolean result = str.contains("world"); // 判断字符串是否包含子串,结果为 true
5. endsWith(String suffix)
测试此字符串是否以指定的后缀结束。
String str = "hello world";
boolean result = str.endsWith("world"); // 判断字符串是否以指定后缀结尾,结果为 true
6. equals(Object anObject)
将此字符串与指定对象进行比较。当且仅当该参数不为 null,而是与此字符串表示相同字符序列的 String 对象时,结果才为 true。
String str1 = "hello";
String str2 = "HELLO".toLowerCase();
boolean result = str1.equals(str2); // 判断字符串是否相等,结果为 true,因为两个字符串在忽略大小写后是相等的
7. indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
String str = "hello world";
int index = str.indexOf('o'); // 获取字符在字符串中第一次出现的索引,结果为 4
8. isEmpty()
当且仅当 length() 为 0 时返回 true。
String str = "";
boolean result = str.isEmpty(); // 判断字符串是否为空,结果为 true
9. length()
返回此字符串的长度。
String str = "hello world";
int len = str.length(); // 获取字符串的长度,结果为 11
10. replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String str = "hello world";
String result = str.replace('o', '0'); // 将字符串中的字符替换为新字符,结果为 "hell0 w0rld"
11. split(String regex)
将此字符串按照给定的正则表达式拆分为字符串数组。
String str = "hello,world";
String[] parts = str.split(","); // 拆分字符串为数组,结果为 ["hello", "world"]
12. startsWith(String prefix)
测试此字符串是否以指定的前缀开始。
String str = "hello world";
boolean result = str.startsWith("hello"); // 判断字符串是否以指定前缀开始,结果为 true
13. substring(int beginIndex)
返回一个新字符串,它是此字符串的一个子字符串。
String str = "Hello, World!";
String sub1 = str.substring(7); // 从索引为7的位置开始截取字符串,结果为 "World!"
String sub2 = str.substring(0, 5); // 从索引为0到索引为4的位置截取字符串,结果为 "Hello"
14. toCharArray()
String str = "hello";
char[] arr = str.toCharArray(); // 将字符串转化为字符数组,结果为 ['h', 'e', 'l', 'l', 'o']
15. toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
String str = "HELLO";
String result = str.toLowerCase(); // 将字符串中的字符转换为小写,结果为 "hello"
16. toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
String str = "hello";
String result = str.toUpperCase(); // 将字符串中的字符转换为大写,结果为 "HELLO"
17. trim()
返回字符串的副本,忽略前导空白和尾部空白。
String str = " hello world ";
String result = str.trim(); // 去除字符串前后的空格,结果为 "hello world"
package com.yushifu.javaAPI;import java.lang.reflect.Array;
import java.util.Arrays;
//String类的常见操作
public class Demo02 {public static void main(String[] args) {String s = new String("ababbadc");//indexOf方法————返回指定字符在字符串中第一次出现的索引(返回值为int类型)int firstFindChar = s.indexOf("a");System.out.println(firstFindChar);// 0//lastIndexOf方法————返回指定字符在字符串中最后一次出现的索引(返回值为int类型)int lastFind = s.lastIndexOf("d");System.out.println(lastFind);// 6//indexOf方法————返回指定 子字符串 在字符串第一次出现的索引(返回值为int)int firstFindString = s.indexOf("bb");System.out.println(firstFindString);// 3//lastIndexOf方法————返回指定 子字符串 在字符串最后一次出现的索引(返回值为int)int lastFindString = s.lastIndexOf("dc");System.out.println(lastFindString); // 6//charAt方法————返回字符串中指定下标的字符,返回值为char,下标index取值范围是0——字符串长度-1char findSpecifyIndex = s.charAt(3);System.out.println(findSpecifyIndex);// b//endWith方法————判断此字符串是否以指定的字符串结尾,返回值为布尔类型 startWith方法同理boolean ifSpecifyEnding = s.endsWith("dc");System.out.println(ifSpecifyEnding);//true//length方法————返回字符串的长度int strLength = s.length();System.out.println(strLength);// 8//equals方法————将此字符串与指定字符串比较,返回值为布尔类型boolean ifEqual = s.equals("yushifu");System.out.println(ifEqual);//false/*Tips:equals方法比较的是两个字符串中的字符是否相等”==“ 比较的是两个字符串对象的地址是否相等String str1 = “abc”;String str2 = “abc”;equals比较则是true “==”比较则是false,因为这是两个对象,地址不同*///isEmpty方法————当且仅当字符串长度为0时返回trueboolean ifEmpty = s.isEmpty();System.out.println(ifEmpty);// false//contains方法————判断是否包含指定字符串boolean ifContain = s.contains("ab");System.out.println(ifContain);//true//toCharArray方法————将字符串转化为一个字符数组char[] changeCharArray = s.toCharArray();for (int i = 0; i < changeCharArray.length; i++) {if (i != changeCharArray.length - 1) {System.out.print(changeCharArray[i] + ",");}else {System.out.println(changeCharArray[i]);}}//replace方法————返回一个新的字符串,新换旧String replaceStr = s.replace("ab","uzi");System.out.println(replaceStr);//uziuzibadc//toUpperCase方法————将String中所有字符转换为大写 toLowerCase转小写String toUpperStr = s.toUpperCase();System.out.println(toUpperStr);//ABABBADC//spilt方法————根据传入参数regex,将字符串分割为若干的字符串String[] spiltStr = s.split("a",2);System.out.println(Arrays.toString(spiltStr));//转换为字符串Arrays.toString(字符串名)//substring方法————返回一个指定起点终点的字符串String subStringStr = s.substring(0,3);System.out.println(subStringStr);// aba//trim方法————去除字符串首位的空格String a = " uzi ";System.out.println(a);//" uzi "System.out.println(a.trim());//uzi//valueOf方法————valueOf方法有多中重载的形式,可以将int、float、double、char等其他基本类型的数据转化为String字符串类型System.out.println(String.valueOf(12));System.out.println(String.valueOf(12.00));System.out.println(String.valueOf(12.00f));System.out.println(String.valueOf('a'));}
}