Object类:
- getClass()------------------>获取当前对象的运行时类 Class:.getName()------------>获取类的名字
- hashCode()----------------->返回对象的哈希码值
- toString()-------------------->转换成字符串
- equals()-------------------->默认比较地址
String类:
构造方法:
- String():------------------>创建一个空串对象
- String(String original):创建一个字符串对象,在堆内存中创建了一个参数的副本。
-
③String(byte[] bytes):将一个字节数组变成一个字符串,将我们不认识的字节变成字符串,叫做【解码】
-
④String(char[] value):将一个字符数变成一个字符串。’a’,’b’,’c’--->”abc”
判断功能的方法
isEmpty():判断调用者是否是空串 |
②获取功能的方法
注意事项:1、包含头不包含尾,返回的结果中,不包含endIndex索引指向的字符;2、所有的方法都无法修改字符串对象本身,一般都是返回一个新的字符串对象
indexOf(int ch):返回ch字符在当前调用者字符串中,第一次出现的索引 indexOf(int ch, int fromIndex):从fromIndex索引开始寻找,找到ch字符在当前字符串中第一次出现的索引 indexOf(String str):返回的是str这个字符串在调用者字符串中第一次出现的索引 indexOf(String str, int fromIndex):从fromIndex索引开始寻找,找到str字符串在当前字符串中第一次出现的索引(注意:无论从哪个位置开始找,所有字符的索引都不会变化) 6、lastIndexOf家族: 和IndexOf基本一样,只不过是从后往前找,所有字符和字符串的索引也都不会发生变化 |
③转换功能的方法
|
- 要转换的字符串.toCharArray()------------>将字符串转换为字符数组
char[] chs = str.toCharArray();
- compareTo(String anotherString) ------------>按字典顺序比较两个字符串。
正数1:调用者大于传参数值
负数-1:调用者小于传参数值
零0:两个字符串相等
String str1 = "aabc";
String str2 = "AABc";
int result = str1.compareTo(str2);
System.out.println(result);//32
String str1 = "aabc";
String str2 = "aacb";
int result = str1.compareTo(str2);
System.out.println(result);//-1
- int compareToIgnoreCase(String str)-------->按字典顺序比较两个字符串,忽略字母大小写
String str1 = "aabc";
String str2 = "AABc";
int result = str1.compareToIgnoreCase(str2);
System.out.println(result);//0
- String concat(String str) ---------->将指定的字符串连接到该字符串的末尾。
String str1 = "aabc";
String str2 = "CCBw";
str1 = str1.concat(str2);
System.out.println(str1);//aabcCCBw
- boolean contains(String s) ---------->当且仅当此字符串包含指定的char值序列时才返回true
String str1 = "aabc";
boolean b = str1.contains("ac");
boolean a = str1.contains("ab");
System.out.println(b);//false
System.out.println(a);//true
- boolean endsWith(String suffix) ---------->测试此字符串是否以指定的后缀结尾
String str3 = "ABbcdcFgA";
System.out.println(str3.endsWith("abcdefg"));//false
System.out.println(str3.endsWith("FgA"));//true
- boolean startsWith(String prefix) ------------>测试此字符串是否以指定的前缀开头。
String str3 = "ABbcdcFgA";
System.out.println(str3.startsWith("ABbc"));//true
System.out.println(str3.startsWith("Acd"));//false
- boolean equals(Object anObject)-------------->将此字符串与指定对象进行比较。
String str = "abdegge";
System.out.println(str.equals("abcd"));//false
System.out.println(str.equals("abde"));//false
System.out.println(str.equals("abdegge"));true
- String replace(char oldChar, char newChar) ----->返回从替换所有出现的导致一个字符串, oldChar在此字符串 newChar 。
String str = "abdegge";
str = str.replace('e','#');
System.out.println(str);//abd#gg#
- String toLowerCase() ------>将所有在此字符 String使用默认语言环境的规则,以小写。
String str = "abSggWQa";
System.out.println(str.toLowerCase());//absggwqa
System.out.println(str.toUpperCase());//ABSGGWQA
- String toUpperCase(Locale locale) -------->将所有在此字符 String使用给定的规则,大写 Locale 。
String str = "abSggWQa";
System.out.println(str.toLowerCase());//absggwqa
System.out.println(str.toUpperCase());//ABSGGWQA
- String trim() ------>返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。
String str4 = " a b c d ";
System.out.println(str4);
System.out.println(str4.trim());//a b c d
Arrays类
static int | binarySearch(byte[] a, byte key) 使用二进制搜索算法搜索指定值的指定字节数组。 |
//binaarSearch 如果没有找到就返回(-应插入的位置索引-1);
int[] arr = {1,4,6,12,34,53,66,77,88,99};
int index = Arrays.binarySearch(arr,66);
System.out.println(index);//6
int index1 = Arrays.binarySearch(arr,68);
System.out.println(index1);//-8=(-7-1)=(-该插入的位置-1);
-
-
static boolean
deepEquals(Object[] a1, Object[] a2)
如果两个指定的数组彼此 深度相等 ,则返回 true 。
-
//equals
int[] arr1 = {1,2,3};
int[] arr2 = {1,2,3};
int[] arr3 = {1,2,3,4};
System.out.println(Arrays.equals(arr1,arr2));//true
System.out.println(Arrays.equals(arr1,arr3));//false
-
-
static void
fill(int[] a, int val)
将指定的int值分配给指定的int数组的每个元素。
-
int[] arr1 = {1,2,3};
//fill,把数组中的每一个元素都填充为指定元素
Arrays.fill(arr1,10);
//toString把数组转换成字符串
System.out.println(Arrays.toString(arr1));
-
-
static void
sort(int[] a)
按照数字顺序排列指定的数组。
-
//sort默认是升序排序
int[] arr4 = {8,5,10,88,3,23,66};
Arrays.sort(arr4);
System.out.println(Arrays.toString(arr4));
static void | sort(byte[] a, int fromIndex, int toIndex) 按升序排列数组的指定范围。 |
StringBuilder :
- 构造方法
①StringBuilder() 构造一个没有字符的字符串构建器,初始容量为16个字符。
②StringBuilder(int capacity) 构造一个没有字符的字符串构建器,由 capacity参数指定的初始容量。
③StringBuilder(String str) 构造一个初始化为指定字符串内容的字符串构建器。
int | capacity() 返回当前容量。 | ||
int | length() 返回长度(字符数)。 |
6、添加功能
append(任意类型) :可以填加任意类型,转成字符串,添加到生成器中。
insert(int index,任意的数据类型):可以将任意数据类型,转成字符串,添加指定的位置。
Index范围:0-当前缓冲区的大小(字符串的大小)
7、删除功能
StringBuilder | delete(int start, int end) 删除此序列的子字符串中的字符。 |
StringBuilder | deleteCharAt(int index) 删除 char在这个序列中的指定位置。 |
8.替换和反转功能
StringBuilder | replace(int start, int end, String str) 用指定的String中的字符替换此序列的子字符串中的 String 。 |
StringBuilder | reverse() 导致该字符序列被序列的相反代替。 |