public class TestString { public static void main(String[] agrs){ String s1 = "hello"; String s2 = "Word"; String s3 = "hello"; System.out.PRintln(s1 == s3); //因為s1和s3并不是被new出來的 s1 = new String("hello"); s2 = new String("hello"); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); //雖然是new出來的,但是String類對equals進行了重寫 char c[] = {'s','u','n',' ','j','a','v','a'}; String s4 = new String(c); String s5 = new String(c,4,4); System.out.println(s4); System.out.println(s5); }}結果是:?truefalsetruesun javajava?equals的API:Compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.比較這個字符串到指定的對象。如果該參數不為空,是一個字符串對象表示相同的字符序列作為該對象的結果是真的。??2.String類常用方法public char charAt(int index) 返回字符串中第index個字符?public int length () 返回字符串的長度?public int indexOf(string str) 返回字符串中出現str的第一個位置?public int indexOf(string str,int fromIndex) 返回字符串中從fromIndex開始出現str的第一個位置?public int lastIndexOf(int ch) 查看ch字符最后出現的位置?public int lastIndexOf(String str) 字符串public boolean equalsIgnoreCase(string another) 比較字符串與another是否一樣(忽略大小寫)?public String replace(char oldChar,char newChar) 在字符串中用newChar字符替換oldChar字符??舉例:public class TestString { public static void main(String[] agrs) { String s1 = "sun java", s2 = "sun Java"; System.out.println(s1.charAt(1)); System.out.println(s1.length()); System.out.println(s1.indexOf("java")); System.out.println(s1.indexOf("Java")); System.out.println(s1.equals(s2)); System.out.println(s1.equalsIgnoreCase(s2)); String s = "我是程序員,我在學java"; String sr = s.replace('我', '你'); System.out.println(sr); }}結果是:
u
8
4
-1
false
true
你是程序員,你在學java?
public boolean starsWith(String prefix) 判斷字符串是否以prefix字符串開頭?public boolean endsWith(String suffix) 判斷字符串是否以suffix字符串解圍?public String toUpperCase() 返回一個字符串為該字符的大寫形式?public String toLowerCase() 返回一個字符串為該字符的小寫形式?public String substring(int beginIndex) 返回該字符串從beginIndex開始到結尾的子字符串?public String substring(int beginIndex,int endIndex) 返回該字符串從beginIndex開始到endIndex結尾的字符串?Public String trim() 返回將該字符串去掉開頭和結尾空格后的字符串?public String[] split (String regex,int limit) 將字符串分割成子字符串,返回字符串數組public byte[] getBytes() 將該字符串轉換成byte數組?舉例:?public class TestString { public static void main(String[] agrs) { String s = "Welcome to Java World!"; String s1 = " sun java "; System.out.println(s.startsWith("Welcome")); System.out.println(s.startsWith("World")); String sL = s.toLowerCase(); String sU = s.toUpperCase(); System.out.println(sL); System.out.println(sU); String subS = s.substring(11); System.out.println(subS); String sp = s1.trim(); System.out.println(sp); }}結果是:
true
false
welcome to java world!WELCOME TO JAVA WORLD!Java World!sun java?3.常用方法(2)?靜態重載方法?public static String valueOf() 可以將基本類型數據轉換為字符串;?例如:public static String valueOf(double d)?方法public String[] split(String regex) 可以將一個字符串按照指定的分隔符分隔,返回分隔后的字符串數組。?
public class TestString { public static void main(String[] agrs) { int j = 1234567; String sNumber = String.valueOf(j); System.out.println("j是" + sNumber.length() + "位數"); String s = "Mary,F,1976"; String[] sPlit = s.split(","); for (int i = 0; i < sPlit.length; i++) { System.out.print(sPlit[i] + " "); } }}結果是:j是7位數Mary F 1976?統計字符串中大小寫字母以及其他字符個數的程序:public class TestString { public static void main(String[] agrs) { int lCount = 0, uCount = 0, oCount = 0; String s = "advrsv^&jgjebjahvVHGFHBJHF^&*&fhaawd"; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (Character.isLowerCase(c)) { lCount++; } else if (Character.isUpperCase(c)) { uCount++; } else { oCount++; } } System.out.println("小寫字母一共:"+lCount + "個,大寫字母一共:" + uCount + "個,其他字符一共:" + oCount+"個"); }}結果是:
小寫字母一共:21個,大寫字母一共:9ge,其他字符一共:6個
輸出一個字符串中部分字符段個數的程序:public class TestString { public static void main(String[] agrs) { String s = "sunjavajijavahpjavaokjavawljavahuijavavbjava"; int count = 0; String sToFind = "java"; int index = s.indexOf(sToFind); if (index != -1) { count++; } s = s.substring(index + sToFind.length()); while (s.indexOf(sToFind) != -1) { index = s.indexOf(sToFind); s = s.substring(index + sToFind.length()); count++; } System.out.println(count); }}結果是:7?優化程序:?public class TestString { public static void main(String[] agrs){ String s = "sunjavajijavahpjavaokjavawljavahuijavavbjava"; int count = 0; String sToFind = "java"; int index = -1; while((index = s.indexOf(sToFind)) != -1){ //給index賦值 s = s.substring(index + sToFind.length()); count++; } System.out.println(count); }}
新聞熱點
疑難解答