String介绍及常用方法
String 是 java.lang包下的,通过看String代码可以看到String的定义是:private final char value[],是final 修饰的char类型的 数组 ,因此String是不可变的,每次修改是生成一个新的String。
String str = "StringString常用方法";
//1. length() 返回字符串的长度
int strLength = str.length();// 结果为 16
//2. replace() 替换字符串
String strReplace = str.replace("String", "str");//结果为 "strstr常用方法"
//3. replaceFirst()替换字符串(替换第一次出现的地方)
String strReplaceFirst = str.replaceFirst("String", "str");//结果为 "strString常用方法"
//4. compareTo() 比较两个字符串 返回为正数表示str大, 返回为负数表示str小, 返回为0表示两个值相等;.数字类型不能用compareTo
//如果连个字符串首字母不同,则比较两个字符串首字母的asc码的值(区分大小写)
int strCompareTo1 = str.compareTo("StringString常用方法");// 结果为 "0"
int strCompareTo2 = str.compareTo("stringString常用方法");// 结果为 "-32"
int strCompareTo3 = str.compareTo("atringString常用方法");// 结果为 "-14"
//如果连个字符串首字母相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值,(区分大小写)
int strCompareTo4 = str.compareTo("StringString常用方法");// 结果为 "0"
int strCompareTo5 = str.compareTo("StRingString常用方法");// 结果为 "32"
int strCompareTo6 = str.compareTo("StaingString常用方法");// 结果为 "17"
//如果两个字符串不一样长,参与比较的字符又完全一样,则返回两个字符串的长度差值
int strCompareTo7 = str.compareTo("StringString");// 结果为 "4"
//5. charAt() 根据下表返回字符串下标位置 的值
char c = str.charAt(0); // 结果为 "S"
//6 concat() 追加字符到当前字符串
String strConcat = str.concat("类");// 结果为 "StringString常用方法类"
//7 contains() 查看当前字符串是否包含目标字符串
boolean trueOrFalse = str.contains("类");// 结果为 "false"
boolean trueOrFalse1 = str.contains("常用方法");// 结果为 "true"
//8 equals() 比较字符串是否相同
boolean trueOrFalse2 = str.equals("常用方法");// 结果为 "false"
boolean trueOrFalse3 = str.equals("StringString常用方法");// 结果为 "true"
//9 indexOf() 查找指定字符在当前字符串的位置,没有则返回-1
int indexOf1 = str.indexOf("S"); // 结果为 "0"
int indexOf2 = str.indexOf("9"); // 结果为 "-1"
int indexOf3 = str.indexOf("S",4); // 查找"S",从下标为4的位置开始查, 结果为 "6"
//10 trim()去除字符串两端的空格
String str1 = " StringString常用方法 ";
String stringTrim1 = str1.trim();// 结果是 : "StringString常用方法"
String str2 = " StringString常用方法 111 ";
String stringTrim2 = str2.trim();// 结果是 : "StringString常用方法 111"
//11 split() 分割字符串,返回分割后的字符串数组;
String str3 = "String,常,用,方,法";
String [] str3Split = str3.split(",");// 根据","分割 ,结果为: {"String","常","用","方","法"}
//12 substring() 截取字符串
String str4 = "StringString常用方法截取字符串";
String substring1 = str4.substring(3);//从第4个位置(下标为3的位置)开始截取,结果为 "ingString常用方法截取字符串"
String substring2 = str4.substring(3,16);//从第4个位置(下标为3的位置)开始截取,到第17的位置(下标为16的位置)(不包含下标为16的字符),结果为 "ingString常用方法"
//13 toLowerCase() 将字符串中的字母转换为小写字母
String str5 = "StringString常用方法";
String toLowerCase = str5.toLowerCase();// 结果为: "stringstring常用方法"
//14 toLowerCase() 将字符串中的字母转换为大写字母
String str6 = "StringString常用方法";
String toUpperCase = str5.toUpperCase();// 结果为: "STRINGSTRING常用方法"
//15 equalsIgnoreCase() 忽略大小写比较两个值是否相等
String str7 = "StringString常用方法";
boolean equalsIgnoreCase = str5.equalsIgnoreCase("STRINGSTRING常用方法");// 结果为: "true"
//16 lastIndexOf() 目标字符或字符串在源字符串中最后一次出现的位置下标
String str8 = "StringString常用方法t";
int lastIndexOf = str8.lastIndexOf("t");//结果为: "16"