Java SE 1
Java SE
1.Object
在Java類繼承結構中,java.lang.Object類位於頂端。如果定義一個Java類時沒有使用extends關鍵字宣告其父類,則其父類為java.lang.Object類。Object定義了“物件”的基本行為,被子類預設繼承。
public class Cat {
}
//等價於
public class Foo extends Object {
}
toString方法
Object類中定義有toString方法,用於返回物件的字串表示。
所有的Java類都繼承了toString方法,Object類toString方法返回的字串形式為:“類名@ hashCode值”。
Java類可以根據需求重寫toString方法以返回更有意義的資訊。
public class Rect { int x; int y; int width; int height; public void setLocation(int x1,int y1) { x = x1; y = y1; } public void setSize(int w,int h) { width = w; height = h; } public String toString() { return "x=" + x + ",y=" + y + ",width=" + width + ",height =" + height; } }
equals方法
Object的equals方法用於物件 “相等” 邏輯。
equals方法的定義如下:
public boolean equals(Object obj) {
return (this == obj);
//當this和obj是同一個物件時才會返回true。
}
2.String 和 StingBuilder
String的特性(不可變)
java.lang.String用於封裝字串序列。
String類屬於不可變類,即String物件一經建立後,其封裝的字串序列是不能改變的。
String str = "WhatisJava"; str = str.toUpperCase(); //toUpperCase將返回字串的大寫形式,但並不是將原字串變大寫,而是返回一個資訊的字串。 System.out.println(str);
String s1 = "Hello";
String s2 = s1;
String s3 = "word";
s1 += s3;
System.out.println(s1);//Helloword
System.out.println(s2);//Hello
System.out.println(s3);//word
//引用變數變了,String物件沒有變。
String的特性(常量池)
Java可以直接使用直接量“字元序列”建立字元迴圈序列:String str = "HelloWord"
出於效能考慮,JVM會將字串字面量物件快取在常量池中。如有重複,JVM首先會在快取池中查詢,若存在直接返回。
String的基本方法
-
簡單基本方法
- String toLowerCase() //返回字串的小寫形式
- String toUpperCase() //返回字串的大寫形式
- String trim() //去掉前後的空白
- boolean startsWith(String prefix) //判斷字串是否以什麼開頭
- boolean endsWith(String prefix) //判斷字串是否以什麼結尾
- int length() //返回字串序列的長度
-
indexOf方法
indexOf方法用於實現在字串中檢索另一個字串。- int indexOf(String str) //在字串中檢索str,返回第一個的位置,沒有返回-1
- int indexOf(String str,int fromIndex) //從fromIndex位置開始檢索
- int lastIndexOf(String str) //返回最後一個出現的位置
-
charAt方法
- char charAt(int index) //用於返回字串指定位置的字元
-
substring方法
- String substring(int beginIndex,int endIndex) //返回字串從下標開始到結束的子字串。
- String substing(int beginIndex) //返回從下標開始到結尾的字串
-
getBytes方法
- byte[] getBytes(String charsetName) //按照指定編碼,返回字串的二進位制序列
- byte[] getBytes() //按系統預設的編碼,返回字串的二進位制序列
String s1 = "御龍林Spuer"; byte[] arr = s1.getBytes(); System.out.println(Arrays.toString(arr)); //[-27, -66, -95, -23, -66, -103, -26, -98, -105, 83, 112, 117, 101, 114]
-
split方法
String的split方法可以將字串按照特定的分隔符拆分為字串陣列。
String[] split(String regex) //引數regex為正則表示式String s5 = "ffff 0000 1234 5678"; String[] arr = s5.split("\\s"); System.out.println(Arrays.toString(arr)); //[ffff, 0000, 1234, 5678]
StringBuilder
和String物件不同,StringBuilder封裝可變的字串,物件建立後可以通過呼叫方法改變其封裝的字元序列。
StringBuilder常用的構造方法:
public StringBuilder()
public StringBuilder(String str)
StringBuilder常用方法 append、insert、delete和replace、reverse等,用於追加、插入、刪除、翻轉
- StringBuilder append(CharSequence s)
- StringBuilder append(int s)
- StringBuilder insert(int dstOffset,CharSequence s)
- StringBuilder insert(int dstOffset,int s)
- StringBuilder delete(int start,int end)
- StringBuilder replace(int start,int end,String str)
- StringBuilder reverse()
3.Commons-lang簡介
commons-lang是Apache Commons專案的一個元件,針對JDK官方的java.lang包中的類提供了一些使用的補充。
StringUtils常用方法
針對字串操作的工具類
- String repeat(String str,int reprat) //重複字串若干次
- String join(Object[] array,String separator) //將一個數組中的元素連線成字串
- String leftPad(String str,int Size,char padChar) //向左邊填充指定字元已達到指定長度
- String rightPad(String str,int Size,char padChar) //向右邊填充指定字元已達到指定長度