每个用双引号 " " 括起来的字符串都是String类的一个实例(对象)
1、取子串--substring方法
s.substring(startIndex, endIndex) 不包括endIndex
String s = "Hello";
String sub_s = s.substring(0, 3); // 取s下标从0到2范围的子串
// sub_s : "Hel"
计算字串长度:endIndex - startIndex
2、检测字符串是否相等--equals方法
s.equals(t) ,若不区分大小写,使用equalsIgnoreCase方法
一定不要使用 == 运算符检测两个字符串是否相等,这个运算符只能确定两个字符串是否在同一个位置,但是有可能将内容相同的字符串拷贝到不同位置上。
3、空串和Null串
空串是长度为0的字符串 ""
空串检测:
if(str.length() == 0)
或
if(str.equals(""))
空串和Null串的区别
空串 "" 是一个Java对象,有自己的长度(0)和内容(空),null 表示没有任何对象与该变量关联
null串检测
if(str == null)
检查一个字符串既不是空串也不是null
if(str != null && str.length() != 0)
// 首先要检查str不为null,因为如果是null,在一个null值上调用方法会出现错误
4、获取指定位置处的字符--charAt方法
char charAt(int index)
5、构建字符串--StringBuilder类
适合需要用许多小段的字符串构建一个字符串的情况
// 构造空的字符串构建器
StringBuilder sb = new StringBuilder();
// 添加内容
sb.append(ch); // 添加单个字符
sb.append(str); // 添加字符串
// 转化为String类的对象 -- toString()
String s = sb.toString();
StringBuilder与StringBuffer的关系:
StringBuffer是StringBuilder的前身,前者效率稍低,但允许采用多线程的方式执行添加或删除字符的操作;如果所有字符串在一个单线程中编辑(通常都是这样),应该使用StringBuilder。
6、求字符串长度
s.length()