String #
- final修饰String,不可被继承
- final属性char[], 字符串不可改变
字符串的比较。 用equals #
public static void main(String[] args) {
String a = "hello world";
String b = "hello world";
System.out.println(a == b); // true 常量相比
String c = new String("hello world"); // new 在堆
System.out.println(a == c); // false
String d = a + ""; // a +方法重载 返回值新对象
System.out.println(a == d); // false
String e = "hello " + "world"; // 常量编译时运算
System.out.println(a == e); // true
// byte f = 127 + 1;
}
字符串方法 #
- char charAt(int ); 获取小标处的字符
- int compareTo(String str); 字符串的比较大小 。自然比较顺序。 负数是小于, 零是相等, 正数是大于
- String concat(String str); 字符串的拼接
- boolean contains(charsequence); 判断 是否包含
- boolean startWith(String str); 判断是否以str开始
- boolean endWith(String suffix); 判断是否以suffix结尾
- boolean equals(String str); 比较字符串内容是否一致
- boolean equalsIgnoreCase(String str); 忽略大小写比较 值是否相等
- byte[] getBytes(String charset); 把字符串按照 charset编码 进行转换
- char[] toCharArray(); 把字符串转换成char[]
- int indexOf(Strint str); 返回指定子字符串第一次出现的字符串内的索引。 不存在的话返回
-1
- int lastIndexOf(String str);返回指定子字符串最后一次出现的字符串内的索引。 不存在的话返回
-1
- String intern(); 把堆中字符串 拿出来。
- length(); 字符的个数
- String[] split(String regex); 按照正则表达式字符串regex,拆分成 字符串数组
- static String join(String delimiter, CharSequence…cs); 把字符串数组 按照 delimiter 合成一个字符串
- boolean matches(String regex); 字符串是否匹配正则表达式
- String replace(CharSequence old, CharSequence new); 把字符串 中的所有 old 换成 new
- String replaceAll(String regex, String new); 把字符串 中的所有 regex正则 换成 new
- String replaceFirst(String regex, String new);
- String substring(int fromindex); 字符串截取从 fromindex开始到结尾
- String substring(int fromindex, int toindex); 字符串截取从 fromindex开始到toIndex [fromindex, toIndex)
- String toLowerCase()/toUppserCase(); 大小写转换
- String trim(); 去除左右空格
- String valueOf(XXXX); 各种转换
StringBuffer与StringBuilder #
- 字符串的的拼接会产生新的 对象。 超慢
- StringBuffer线程安全的,拼接慢
- StringBuilde非线程安全,更快
方法 #
- toString(); StringBuffer转换字符串
- append(String str); 拼接
- delete(from, to); 删除 [from, to)之间的字符
- insert(position, str); 插入字符串
- reverse(); 反转字符串
- indexOf/replace/substring/charAt()…