目录
字符串是表示一串字符的数据类型。由于String类中的方法非常多也很强大所以在这整理记录一下。
String基本方法
方法 | 描述 |
length() | 返回字符串中的字符数,包括空格,返回的是int类型 |
charAt(index) | 返回字符串指定位置的字符 |
toUpperCase() | 将字符串中所有字母转换为大写 |
toLowerCase() | 将字符串中所有字母转换为小写 |
public class test {
public static void main(String[] args) {
String test = "Java easy method"; //输出:
System.out.println(test.length()); //16
System.out.println(test.charAt(0)); //J
System.out.println(test.toUpperCase());//JAVA EASY METHOD
System.out.println(test.toLowerCase());//java easy method
}
}
String的比较
在比较字符串的时候切记不要用 == ,因为==比较的是两个字符串是不是在同一内存下,使用以下方法比较的则是字符串真实的值
方法 | 描述 |
str1.equals(str2) | 当str1 等于str2时 返回true反之返回false |
str1.equalsIgnoreCase(str2) | 无视大小写的情况下,比较str1和str2,相同则返回true |
str1.compareTo(str2) | 如果str1大于str2则返回一个大于0的数,如果str1等于str2则返回0,如果str1小于str2则返回一个小于0的数 |
startsWith(testStr) | 如果字符串以testStr为前缀,则返回true |
endsWith(testStr) | 如果字符串以testStr为后缀,则返回true |
str1.contians(str2) | 如果str2为str1的子字符串则返回true |
public class test {
public static void main(String[] args) {
String str1 = "Java easy method";
String str1clone = "Java easy method";
String str1Upper = "JAVA EASY METHOD";
String str2 = "I choose python";
System.out.println(str1.equals(str1clone)); //true
System.out.println(str1.equalsIgnoreCase(str1Upper)); //true
System.out.println(str1.compareTo(str2)); // 1
System.out.println(str1.startsWith("Java ")); //true
System.out.println(str1.endsWith("afhjkh")); //false
System.out.println(str1.contains("easy")); //true
}
}
获得子字符串
方法 | 描述 |
substring(start) | 返回从start开始直到结束的子字符串,包含start位置 |
substring(start,end) | 返回从start开始直到end的子字符串,包含start但不包含end |
public class test {
public static void main(String[] args) {
String str1 = "Java easy method";
//输出:Java easy method
System.out.println(str1.substring(0));
//输出: easy m
System.out.println(str1.substring(4,11));
//输出:d
System.out.println(str1.substring(str1.length()-1));
}
}
将一个string存入string数组中
如果要将一个字符串存入string[]中,需要用到split("分割符")。
public class test {
public static void main(String[] args) {
String str1 = "Java easy method";
String[] strArray = str1.split(" ");
for(String val: strArray){
System.out.println(val);
}
//输出:
// Java
// easy
// method
}
}
查找字符串中字符或字串
方法 | 描述 |
indexOf('item') | 返回第一个出现item的下标,如果没有则返回-1 |
indexOf(item,here) | 返回从here开始第一个出现item的下标,如果没有则返回-1(包含here下标) |
indexOf(“item”) | 如果item字符串是子字符串则返回该子字符串的第一位下标,无则返回-1 |
indexOf("item",here) | 返回字符串中here之后出现的第一个字符串item的下标,无则返回-1 |
lastIndexOf(item) | 返回字符串中最后一个item的下标,没有则返回-1 |
lastIndexOf(item,here) | 返回从here之后最后一个item的下标,没有则返回-1 |
lastIndexOf("item") | 返回字符串中出现最后一个字符串item的下标,没有则返回-1 |
lastIndexOf("item",here) | 返回从here之后最后一个字符串item的下标,没有则返回-1 |
public class test {
public static void main(String[] args) {
String str1 = "Java easy method Java";
// 012345678901234567890
System.out.println(str1.indexOf('a')); //1
System.out.println(str1.indexOf('a',1)); //1
System.out.println(str1.indexOf(" met")); //9
System.out.println(str1.indexOf("av",5));//18
System.out.println(str1.lastIndexOf('J')); //17
System.out.println(str1.lastIndexOf('a',4));//3
System.out.println(str1.lastIndexOf("Java")); //17
System.out.println(str1.lastIndexOf("va",2));//2
}
}