天天看點

java類api_JAVA API常見的使用類(一)

Object類

1,是定義在java.lang包下的類,是所有類的超類(父類),所有的類都直接或間接的繼承Object類。

父類:超類、根類、基類。

子類:派生類。

2,需要掌握的方法:

pulic String toString():傳回對象字元串的表示形式。

預設情況下的組合:類名的全路徑名稱+@+對象的哈希值無符号十六進制表示形式。

這種做法沒有意義,是以一般情況下重寫。

重寫做法:把所有成員變量組合成一個字元串傳回。

public boolean equals(Object obj):比較對象的位址值是否相同。

預設的情況下,是比較對象的位址值是否相同。

如果有需要,重寫Object類的方法,該怎麼重寫?

//重寫Object類

public booleanequals(Object obj){if(this==obj){returnture;

}if(!(obj instanceofStudent)){return false;

}

Student s=Student(obj);return this.name.equals(s.name)&&this.age==s.age;

}

如果多個成員變量,把多個比較用&&連接配接,

引用類型用equals()方法,

基本類型用==。

==與equals()的差別:

==:

可以比較基本類型,也可以比較引用類型。

比較基本類型,比較的是值是否相等。

比較引用類型,比較的是位址值是否相等。

equals():

隻能比較引用類型。

預設的情況下比較的是位址值是否相等。

如果需要比較内容,需要重寫Object類的equals()方法。

如下所示:

//==與equals()的差別

String s="hello";

String s1="hello";

String s2=new String("hello");

String s3="world";

Striing s4=new String("world")

String s5="helloworld";

System.out.println(s==s1); //true

System.out.println(s.equals(s1)); //true

System.out.println(s==s2); //false

System.out.println(s.equals(s2)); //true

System.out.println(s5==s+s3); //false

System.out.println(s5.equals(s+s3)); //true

System.out.println(s5.equals(s+s4)); //ture

System.out.println(s5=="hello"+"world"); //true

System.out.println(s5.equals("hello"+"world")) //true

1 //equals()陷阱

2

3 if(s.equals("world")){4 }5

6 if("world".equals(s)){7 }8

9 //假如s是一個外界傳遞值,如果給null,s就會NullPointerException10 //改善方案:把常量寫在前面,定義成為對象。

Scanner

1,Scanner是JDK5以後出現的功能, 友善從鍵盤接收資料的類。

2,Scanner的格式構造:

Scanner sc=new Scanner(System.in);

System.in是System類下面有一個靜态的成員變量in,它在類型是InputStream。代表的是标準鍵盤輸入流。

Scanner是對其封裝,提供了各種轉換功能。友善擷取各種需要的資料類型資料。

3,需要掌握的兩個功能:

a:傳回int類型

public int nextInt()

b:傳回String類型

public String nextLine()

注意事項:

兩個一起組合使用的時候 ,先用nextInt(),再用nextLine()會有問題。

解決方案:

1,重建立立Scanner對象。

2,把所有資料都輸入成String類型,再對其進行轉換。

String

1,由多個字元組成的一組資料。

2,構造方法:

//構造方法

1 String s=newString();2 String s=new String(byte[] bys);3 String s=new String(byte[] bys,int startIndex,intcount);4 String s=new String(char[] chs);5 String s=new String(char[] chs,int startIndex,intcount);6 String s=newString(String s2);7 String s="hello";

常使用的幾種:2、3、4、5、7。

3,字元串常見的功能:

1,判斷:

boolean equals(Object obj):比較字元串的内容是否相同。

boolean equalsIgnoreCse(String str):比較字元串的内容是否相同,不區分大小寫。

boolean contains(String str):判斷該字元串對象是否包含給定的字元串。

boolean startWith(String str):判斷該字元串對象是否以給定的字元串開頭。

boolean endWith(String str):判斷該字元串對象是否以給定的字元串結束。

boolean isEmpty(String str):判斷該字元串對象是否為空,是指的内容(””) 還是位址(null)?

//isEmpty 測試

String s="helloworld";

System.out.println(s.isEmpty());//false

System.out.println("".isEmpty()); //true

String s=null;

System.out.println(s.isEmpty());//java.lang.NullPointerException

2,擷取:

int length():傳回該字元串對象的長度。

char charAt():傳回指定索引的字元。

int indexOf(int ch):傳回指定字元第一次出現的索引位置。'A' 65

int indexOf(String str):傳回指定字元串第一次出現的索引位置。

int indexOf(int ch,int fromIndex):從指定索引位置開始,傳回指定字元第一次出現的索引位置。

String subString(int start):從指定索引位置開始截取字元串,包含指定索引位置本身。

String subString(int start,int end):從指定的索引位置開始截取字元串,到指定的索引位置結束截取字元串。包左不包右。

3,轉換:

byte getBytes():把字元串轉換成位元組數組。

char toCharArray():把字元串轉換成字元數組。

static String copyValueOf(char[] chs):把字元數組轉換成字元串。

static String valueOf(char[] chs):把字元數組轉換成字元串。

static String valueOf(int i ):把int類型的資料轉換成字元串。

String toLowerCase():把字元串轉換成小寫。

String toUpperCase():把字元串轉換成大寫。

String concat(String str):字元串的拼接。

4,其它:

String replace(char old,char new):把該字元串中的指定字元替換成新的指定字元。

String replace(String old,String new):把該字元串中的指字元串替換成新的指定字元串。

String split(String regex):把字元串按指定的标記分割成字元串數組。

//分割簡易示例

String ages="20-30-35-40";

String[] ageArray=ages.split("-");for(int i=0;i

System.out.println(ageArray[i]);

}-----------------------------------------------------

20

30

35

40

String trim():去掉字元串兩端的空格。

int compreTo(String str):按字典順序比較兩個字元串。

int compreToIngoreCase(String str):按字典順序比較兩個字元串,不區分大小寫。