String这个类是非常非常非常非常重要的
- equals(Object obj); 重写了继承自Object的equals方法,比较内容
- hashCode(); 重写了继承自Object的hashCode方法 h = 31 * h + val[i];
- toString();重写了继承自Object的toString方法
- compareTo(String str); 实现自Comparable接口,按照字典索引的顺序比较
按字典顺序比较abc~abc = 0; abc~abd = -1; abc~aba = 2;
先找寻两个字符串中长度较短的那个,作为比较循环的次数
挨个比较元素,str1[i] - str2[i] 循环后如果有结果,直接返回
如果循环过后发现所有的字符都一样,直接用长度。len1-len2
返回0表示两个字符串相等
还有一个compareToIgnoreCase(); 忽略大小写
- charAt(int index); 返回给定index对应位置的那个char值
- codePointAt(int index); 返回对应char值对应的Unicode码
- length(); 返回字符串的长度;
- concat(String); 将给定的字符串拼接在当前字符串之后
- contains(CharSequence s); 判断给定的 s 是否在字符串中存在,返回boolean
- startsWith(String prefix); 判断是否以 prefix 这个字符串开头。endsWith(String suffix); 判断是否以suffix这个字符串结尾
- getBytes(); 将一个字符串转换成 byte 数组
- toCharArray(); 将字符串转换成 char 数组
- indexOf(); 有多个重载。找寻给定元素在字符串中第一次出现的索引位置,若不存在,返回-1
- lastIndexOf(); 从后往前找,找最后一次出现的位置,若不存在,返回-1
- isEmpty(); 判断字符串是否为空,返回boolean
- replace(); replaceAll(); replaceFirst(); 替换
- split(String regex) 拆分,可以添加正则表达式
split(String regex, int limit); 拆几段 - substring(int beginIndex); 截取字符串,从beginIndex开始到结束substring(int beginIndex, int endIndex); 从beginIndex开始到endIndex结束,左闭右开
- toUpperCase(); 转换成大写
- toLowerCase(); 转换成小写
- trim(); 去掉字符串前后多余的空格,只能去掉前面和后面的