1. 程式人生 > >Java SE 1

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) //向右邊填充指定字元已達到指定長度