public class StringTest { public static void main(String[] args) { methodString(); }
# String 方法 public static void methodString() { String aString = "qweasdqwesad123哈哈哈"; /* charAt 当前坐标下的字符 */ char c = aString.charAt(17); System.out.println(c); /* comapreTo 返回值是整型,它是先比较对应字符的大小(ASCII码顺序), 如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值, 如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较, 以此类推,直至比较的字符或被比较的字符有一方结束。 如果参数字符串等于此字符串,则返回值 0; 如果此字符串小于字符串参数,则返回一个小于 0 的值; 如果此字符串大于字符串参数,则返回一个大于 0 的值。 */ Number a = 1234; String num = "1124hUHa"; String num2 = "1024huHu"; int i = num.compareTo(num2); System.out.println(i); /* 按字典顺序比较两个字符串,不考虑大小写。 */ int i1 = num.compareToIgnoreCase(num2); System.out.println(i1); /* 当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。 */ StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("1024huha"); boolean b = num.contentEquals(stringBuffer); System.out.println("与stringbuffer有相同的顺序:"+b); /* 测试此字符串是否以指定的后缀结束。 前缀开始 可以加上正则表达式 */ boolean u = num.endsWith("ha"); boolean b2 = num.startsWith("1"); System.out.println("startsWith: "+b2+"endwith: "+u); /* 比较equals 不区分大小写的比较 */ boolean b1 = num.equalsIgnoreCase(num2); System.out.println("equalsignoreCase:"+b1); /* 编译成byte[] */ byte[] bytes = num.getBytes(); for (int j = 0; j < bytes.length; j++) { System.out.println("编译成byte[]: "+j+":"+bytes[j]); } /* 返回hashcode */ int i2 = num.hashCode(); System.out.println("num的hashcode值: "+i2); /* 返回指定字符在此字符(或字符串)中第一次出现处的索引。 */ int h = num.indexOf('h'); int h2 = num.lastIndexOf('h'); System.out.println("h第一次出现的索引"+h+" 最后一次出现的索引: "+h2); /* 返回在此字符串中第一次出现指定字符(或字符串)处的索引,从指定的索引开始搜索。 */ int h1 = num.indexOf('h', 5); System.out.println("指定位置以后的索引"+h1); /* 返回字符串对象的规范化表示形式 */ String str1 = "a"; String str2 = "b"; String str3 = "ab"; String str4 = str1 + str2; String str5 = new String("ab"); System.out.println(str5.equals(str3)); System.out.println(str5 == str3); System.out.println(str5.intern() == str3); System.out.println(str5.intern() == str4); /* 匹配正则表达式 */ boolean matches = num.matches("[0-9]{4}[a-z]{1,}"); System.out.println("匹配正则表达式:" +matches); /* 替换repalce 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 */ String replace = num.replace('1', '9'); System.out.println("替换后的num: "+replace); /* 替换:正则表达式方式 replaceFirst():替换第一个 */ String a1 = num.replaceAll("[0-9]", "a"); System.out.println(" 正则表达式替换’a': "+a1); /* 拆分字符串:split 也可以根据正则表达式拆分 */ String[] split = num.split("u"); for (int j = 0; j <split.length; j++) { System.out.println("拆分:下标: "+j+"内容: "+split[j]); } /* 截取字段 */ String substring = num.substring(2, 5); System.out.println("截取2到5的num: "+substring); /* 全小写 */ String s = num.toLowerCase(); System.out.println("全小写tolowerCase: "+s); /* 全大写 */ System.out.println("全大写: "+s.toUpperCase()); /* 返回字符串的副本,忽略前导空白和尾部空白 */ String num3=" "+s+" "+num+" "; String trim = num3.trim(); System.out.println("之前:|"+num3+"|trim:|"+trim+"|"); /* 返回给定data type类型x参数的字符串表示形式。 */ double d = 1100.00; boolean bo = true; long l = 1234567890; char[] arr = {'r', 'u', 'n', 'o', 'o', 'b' }; System.out.println("返回值 : " + String.valueOf(d) ); System.out.println("返回值 : " + String.valueOf(bo) ); System.out.println("返回值 : " + String.valueOf(l) ); System.out.println("返回值 : " + String.valueOf(arr) ); } /* * 常规方法 */ public static void useString() { String str = "java程序员"; char[] hello = {'1', '2', '3'}; String s = makeString(hello); /* * 长度 */ System.out.println("长度length():" + s.length()); /* * 连接字符串 */ String concat = s.concat(str); System.out.println(concat); /* 创建格式化字符串 格式化字符串: 是一些程序设计语言在格式化输出API函数中用于指定输出参数的格式与相对位置的字符串参数 */ float floatVar = 0.0123F; Integer intVar = 123; String str2 = "python"; System.out.printf("浮点型变量的值为 %f, 整型变量的值为 %d, 字符串变量的值为 is %s", floatVar, intVar, str); /* */ } /* * 通过char[]构造string */ public static String makeString(char[] hello) { String helloString = new String(hello); System.out.println(helloString); return helloString; }}