接口
jdk在1.8之後做了些優化
優化後能寫成員方法
1.靜態方法
2.默認方法
默認方法不能用接口直接調用 因爲接口不能實例化對象出來必須使用該接口的實現類的對象調用
因爲默認方法在實現類中 所以不強制去重寫
如果想調用接口類中的默認方法 可以使用 接口名.super.默認方法方法名(); 去調用
抽象類和接口的區別
1.成員變量
抽象類:有 常量和變量
接口:只有常量
2.成員方法
抽象類:抽象方法和成員方法
接口:靜態成員方法 抽象方法 默認方法
3.構造方法
抽象類:有
接口:沒有
字符串—系統提供的類
1.獲取
indexOf();
獲取某一個字符在字符串中的首個位置
indexOf(,);
逗號後面是下標 獲取某個字符在下標以後的字符串中的首個位置
charAt()
獲取下標所對應的字符
2.判斷
contains()
判斷字符串是否包含括號中的字符
staticWith()
判斷括號中的字符是否是字符串的前綴
endsWith()
判斷括號中的字符是否是字符串的後綴
3.字符串的替換
replace(,)
將逗號後面的字符替換成逗號前面的字符
4.切割
split()
將字符串按括號中的字符切割
5.獲取子字符串
substring()
取括號中的下標以後的字符串
substring(,)
取出括號中兩個下標之間的字符串–前面一個下標所對應的字符也會取出 後面一個下標對應的字符不會被取出 取出的字符是後面一個下標-1所對應的字符
6.轉換大小寫
toLowerCase()
將大寫字符串轉換成小寫
toUpperCase()
將小寫字符串轉換成大寫
7.判斷兩個字符串相等(無論大小寫)
equalsIgnoreCae()
一個字符串寫在代碼前面 一個代碼寫在括號內
8.去空格
trim()
去掉字符串前後的空格 中間的空格不會被去掉
9.兩個字符串比較
compareTo
一個字符串在代碼前面 一個在括號內 比較的是字符相對應的ASCII碼 兩個字符串從第一個字符相對比 只要有不同後面的字符都不會再比
10.字符數組與字符串相互轉換(用構造方法)
String string= new String(字符數組)
這個是將字符數組轉換成字符串
char[] charArray= string.toCharArray();
這個是將字符串轉換成字符數組
String s1 = "abc";
String s2 = new String("abc");
在這裏s1與s2輸出的值是一樣的
但是s1與s2所表達的是不一樣的
s1只有一個對象 "abc"
s2有兩個對象"abc"
和在堆內存中new出來的一個對象
例子
去除” a d “的前後空格
String string = " a d ";
int start = 0 ;
int eng = string.length() - 1;
while(string.charAt(start) == ' ' && start < end){
start++;
}
while(string.charAt(end) ==' ' && start < end){
end++;
}
String string = string.substring(start,end+1);
System.out.println(string);
}
輸出
a d