首页 > 技术文章 > String类的常用方法

jack-Leo 2017-04-09 15:35 原文

创建实例:

String str = new String();
str = "String";

1、检测两个字符串是否相等,一定不要用 ==(内存位置相同) 来判断,用equals(值相等)如下例所示,返回值为 false
if(str.substring(2) == "ring"){
System.out.println("True");
}
else{
System.out.println("false");
}

2、char charAt(int index):返回制定位置的代码单元
System.out.println("String.charAt:" + str.charAt(0));
//return "String.charAt:S"

3、int codePointAt(int index):返回从指定位置开始或结束的代码点(ASCII码)
System.out.println("String.codePointAt:" + str.codePointAt(0));
//return "String.codePointAt:83";

4、int offsetByCodePoints(int startIndex, int cpCount):返回从startIndex代码点开始,位移cpCount后的代码点索引
//注意:是 位移cpCount后 的代码点索引
System.out.println("String.offsetByCodePoints:" + str.offsetByCodePoints(0, 2));
//return "2";

5、String substring(int beginIndex):返回指定起始位置至字符串末尾的字符串
     substring(int beginIndex, int endIndex):返回指定起始位置(含)到结束位置(不含)之间的字符串
System.out.println("String.substring:" + str.substring(str.offsetByCodePoints(0, 2)));
//return "String.substring:ring";
System.out.println("String.substring:" + str.substring(str.offsetByCodePoints(0, 2), str.offsetByCodePoints(0, 2)+1));
//return "String.substring:r";

6、int compareTo(String other):如果字符串str在other之前,返回负数;如果str在other之后,返回正数,如果字符串相等,返回0
System.out.println("String.compareTo:" + str.compareTo("Show String"));
//return "12";
System.out.println("String.compareTo:" + str.compareTo("String"));
//return "0";
System.out.println("String.compareTo:" + str.compareTo("String nagitive"));
//return "-9";

7、boolean startsWith(String prefix):如果字符串以prefix开头返回true,否则返回false
     boolean endsWith(String suffix):如果字符串以suffix结尾返回true,否则返回false
System.out.println("String.startsWith:" + str.startsWith("g"));
//return "String.startsWith:false";
System.out.println("String.endsWith:" + str.endsWith("g"));
//return "String.endsWith:true";

8、boolean equals(Object other):如果字符串与other相等返回true,否则返回false
   boolean equalsIgnoreCase(String other):如果字符串与other相等(忽略大小写)返回true,否则返回false
System.out.println("String.equals:" + str.equals("string"));
//return "String.equals:false";
System.out.println("String.equalsIgnoreCase:" + str.equalsIgnoreCase("string"));
//return "String.equalsIgnoreCase:true";

9、int indexOf(String str):返回指定字符串的索引位置
   int indexOf(String str, int fromIndex):返回从指定索引位置fromIndex开始的str的索引位置,如果没有返回-1
     int indexOf(int cp):cp----ASCII码对应的十进制码
     int indexOf(int cp, int fromIndex):----ASCII码对应的十进制码,formIndex字符串索引起始位置-----返回从指定索引位置fromIndex开始的str的索引位置,如果没有返回-1
System.out.println("String.indexOf:" + str.indexOf("i"));
//return "String.indexOf:3";
System.out.println("String.indexOf:" + str.indexOf("i", 1));
//return "String.indexOf:3";
System.out.println("String.indexOf:" + str.indexOf("i", 4));
//return "String.indexOf:-1";
System.out.println("String.indexOf:" + str.indexOf(83));//83:S
//return "String.indexOf:0";
System.out.println("String.indexOf222:" + str.indexOf(110, 0));//110:n
//return "String.indexOf:4";

10、int lastIndexOf(String str):返回最后一个与str匹配的字符串的索引位置,如果没有返回-1
      int lastIndexOf(String str, int fromIndex):返回从指定索引位置fromIndex开始,最后一个与str匹配的字符串的索引位置,如果没有返回-1
      int lastIndexOf(int cp):cp----ASCII码对应的十进制码
      int lastIndexOf(int cp, int fromIndex):----ASCII码对应的十进制码,formIndex字符串索引起始位置-----返回从指定索引位置fromIndex开始的str的索引位置,如果没有返回-1
System.out.println("String.lastIndexOf:" + str.lastIndexOf("n"));
//return "String.lastIndexOf:4";
System.out.println("String.lastIndexOf:" + str.lastIndexOf("n", 3));
//return "String.lastIndexOf:-1";
System.out.println("String.lastIndexOf:" + str.indexOf(83));//83:S
//return "String.indexOf:0";
System.out.println("String.lastIndexOf:" + str.indexOf(110, 0));//110:n
//return "String.indexOf:4";

11、int length():返回字符串长度
System.out.println("String.length:" + str.length());
//return "String.length:6";

12、String replace(CharSequence oldString, CharSequence newString):用newString替换字符串中的oldString
System.out.println("String.replace:" + str.replace("g", "gs"));
//return "String.replace:Strings";

13、String toLowerCase():转换为小写字母
      String toUpperCase():转换为大写字母
System.out.println("String.toLowerCase:" + str.toLowerCase());
System.out.println("String.toUpperCase:" + str.toUpperCase());

14、String trim():返回一个去除两头空格的新字符串
str = str.replace("g", "g ");
System.out.println("String.trim:" + str.trim());
//return "String.trim:String";

推荐阅读