1. 程式人生 > >Java基礎---> String類

Java基礎---> String類

public class StringDemo { public static void main(String[] args) { String str = "asdfghjaszxsa.java"; method_get(str); print("------------------------------------------"); method_is(str); print("------------------------------------------"); method_transform(str); print("------------------------------------------"); method_replace(str); print("------------------------------------------"); method_split(str); print("------------------------------------------"); method_sub(str); print("------------------------------------------"); method_change(); } /* * String獲取方法 凡是獲取的字元或者是字串不存在,就返回-1 */ private static void method_get(String str) { // 獲取字串的長度 int length = str.length(); print("length: " + length); // 根據位置獲取位置上的某個字元 char ch = str.charAt(1); print("ch: " + ch); // 根據字元獲取該字元在字串中的位置 int index = str.indexOf("index: " + 'a');// 獲取該字元第一次出現的位置 print("index: " + index); // int indexOf(int ch, int fromIndex) :從fromIndex指定位置開始,獲取ch在字串中出現的位置。 int indexf = str.indexOf('a', 2); print("indexf: " + indexf); // int indexOf(String str):返回的是str在字串中第一次出現的位置。 int indexs = str.indexOf("as"); print("indexs: " + indexs); // int indexOf(String str, int fromIndex) // :從fromIndex指定位置開始,獲取str在字串中出現的位置。 int indexsf = str.indexOf("as", 3); print("indexsf: " + indexsf); // int lastIndexOf(int ch) int indexlast = str.lastIndexOf('a'); print("indexlast: " + indexlast); } /* * String中的判斷 */ private static void method_is(String str) { // 字串中是否包含某一個子串 /* * 特殊之處:indexOf(str):可以索引str第一次出現位置,如果返回-1.表示該str不在字串中存在。 * 所以,也可以用於對指定判斷是否包含。 if(str.indexOf("aa")!=-1) 而且該方法即可以判斷,有可以獲取出現的位置。 */ boolean iscon = str.contains("asd"); print("iscon: " + iscon); // 字元中是否有內容。boolean isEmpty(): 原理就是判斷長度是否為0. boolean isemp = str.isEmpty(); print("isemp: " + isemp); // 字串是否是以指定內容開頭。boolean startsWith(str); boolean start = str.startsWith("asd"); boolean startoffset = str.startsWith("sd", 1); print("start: " + start); print("startoffset: " + startoffset); // 字串是否是以指定內容結尾。boolean endsWith(str); boolean end = str.endsWith(".java"); print("end: " + end); // 判斷字串內容是否相同。複寫了Object類中的equals方法。boolean equals(str); boolean equal = str.equals("asdfghjaszxsa.java"); print("equal: " + equal); // 判斷內容是否相同,並忽略大小寫。boolean equalsIgnoreCase(); boolean equ = "AASD".equalsIgnoreCase("Aasd"); print("equ: " + equ); } /* * 轉換 */ private static void method_transform(String str) { char[] chs = { 'a', 's', 'd', 'f', 'g' }; byte[] bts = { 'a', 's', 'd', 'f', 'g' }; // 將字元陣列轉成字串 String trChStr = new String(chs); String trChStrO = new String(chs, 1, 3); print("trChStr: " + trChStr + "....trChStrO: " + trChStrO); String copyvalueof = String.copyValueOf(chs); print("copyvalueof: " + copyvalueof); // 將字串轉成字元陣列**** char[] tochar = str.toCharArray(); for (int x = 0; x < tochar.length; x++) { print("char[" + x + "] = " + tochar[x]); } // 將位元組陣列轉成字串。 String trBtStr = new String(bts); String trBtStrO = new String(bts, 1, 3); print("trBtStr: " + trBtStr + "....trBtStrO: " + trBtStrO); // 將字串轉成位元組陣列。byte[] getBytes(): // 特殊:字串和位元組陣列在轉換過程中,是可以指定編碼表的。 byte[] getBts = str.getBytes(); for (int x = 0; x < getBts.length; x++) { print("byte[" + x + "] = " + getBts[x]); } // 將基本資料型別轉成字串。static String valueOf(資料型別) // 3+"";//String.valueOf(3); String num = String.valueOf(2); print("num: " + num); } /* * 替換 */ private static void method_replace(String str) { // 如果要替換的字元不存在,返回的還是原串。 String newStr = str.replace('a', 'm');// 替換掉所有的該字元 print(str); print(newStr); String newSt = str.replace("asd", "qqq"); print(str); print(newSt); } /* * 切割 */ private static void method_split(String str) { // String[] split(regex); String[] strs = str.split("s"); for (int x = 0; x < strs.length; x++) { print("String[" + x + "] = " + strs[x]); } } /* * 獲取字串中的一部分 */ private static void method_sub(String str) { print(str.substring(2));// 從指定位置開始到結尾。如果角標不存在,會出現字串角標越界異常。 print(str.substring(2, 4));// 包含頭,不包含尾。s.substring(0,s.length()); } /* * 轉換,去除空格,比較。 */ private static void method_change() { String s = " Hello Java "; print(s.toLowerCase());// 轉小寫 print(s.toUpperCase());// 轉大寫 print(s.trim());// 去空格 // 對兩個字串進行自然順序的比較 String s1 = "aaa"; String s2 = "aaa"; print(s1.compareTo(s2));// 大於返回正數,小於返回負數,相等返回0 } private static void print(Object obj) { System.out.println(obj); } }