Object類、String類、Arrays類、StringBuffer類、StringBuilder的總結2
阿新 • • 發佈:2018-11-03
補充上一篇文章末尾String類中的一個方法
public String substring(int beginIndex, int endIndex)
引數:起始位置,與結束位置 int型別
返回值:String型別
public class Test {
public static void main(String[] args) {
String s ="ABCDEFG";
System.out.println(s.substring(1,3));
}
}
執行結果:BC
StringBuffer類、StringBuilder類(字元緩衝區)
capacity方法 (public int capacity())
返回值:int型別
public class Test {
public static void main(String[] args) {
//通過無參構造建立緩衝區
StringBuffer sb = new StringBuffer();
//緩衝區內沒有字元
System.out.println(sb.capacity());
}
}
執行結果:16
append方法(public StringBuffer append(Object obj)
引數:任意型別
返回值:StringBuffer緩衝區型別
public class Test { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); //新增字串型別 sb.append("66"); //新增int型別 sb.append(1); //新增float型別 sb.append(1.5f); //新增double型別 sb.append(1.00); //新增long型別 sb.append(5L); //新增char型別 sb.append('a'); //引用型別 sb.append(new Student()); //由於StringBuffer類重寫了toString方法,所以列印的是緩衝區內的字串 System.out.println(sb.toString()); } }
執行結果:6611.51.05aStudent{name='null', age=0}
reserve方法(public StringBuffer reverse()
public class Test {
public static void main(String[] args) {
//通過有參構造建立StringBuffer物件
StringBuffer sb = new StringBuffer("abcdef123456");
System.out.println(sb.reverse().toString());
}
}
執行結果 : 654321fedcba
indexOf方法(public int indexOf(String str))
引數:String型別
返回值:int型別(未找到返回-1)
public class Test {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd123456");
System.out.println(sb.indexOf("12"));//從頭開始找,返回該字串頭一個字元在緩衝區中的索引值
}
}
執行結果:4
lastIndexOf方法(public int lastIndexOf(String str))
引數:String型別
返回值:int型別(未找到返回-1)
public class Test {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcd123456");
System.out.println(sb.lastIndexOf("6"));//從最後一個開始,找返回該字串第一個元素在緩衝區中的索引值
}
}
執行結果:9
緩衝區型別與字串間的相互轉換
Arrays類
1、陣列遍歷
public static String toString(int[] arr),這個地方拿int型別陣列舉栗子
引數:任意基本型別的陣列
返回值:String型別
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {55,66,88,77,99,11,33};
System.out.println(Arrays.toString(arr));
}
}
輸出結果:[55, 66, 88, 77, 99, 11, 33]
2、陣列排序
public static void sort(int[] arr)
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {55,66,88,77,99,11,33};
Arrays.sort(arr);//陣列排序
System.out.println(Arrays.toString(arr));
}
}
執行結果:[11, 33, 55, 66, 77, 88, 99]
3、二分查詢
public static int binarySearch(int[] a, int key)
引數:被查詢的陣列,需要查詢的元素的值
返回值 :該元素在該陣列中的索引值int型別,未找到則返回-1
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {55,66,88,77,99,11,33};
System.out.println(Arrays.binarySearch(arr,1));//查詢1在arr陣列中的索引
}
}
執行結果: -1