String写法:String str="这是一个字符串";
==比较的是内存地址 .equals()比较的是两者内容是否相同 .equalslgnoreCase() 忽略字符大小写
String的常用方法
判断功能
- boolean startswith() 判断是否以指定字符开头
- boolean endswith() 判断是否以指定位置结尾
- boolean contains() 此字符串是否包含指定字符串
- boolean isEmpty() 判断字符串是否为空
获取功能
- char charAt() 查询指定位置的字符
- int length() 查询字符串的长度
- int indexOf() 查询给定字符串第一次出现的位置
- int lastIndexOf() 查询支付串最后一次出现的位置
- string substring() 截取字符串(含头不含尾)
转换功能
- char[ ] tocharArray() 将字符串转为字符数组
- string toUpperCase() 全部转大写
- string toLowerCase() 全部转小写
- string valueOf() 把数字类型转为字符串类型
替换功能
- string[ ] split() 分隔割为数组
- string trim() 删除字符串两边的空格
- string replaceAll() 数据替换
字符缓冲类:频繁的修改字符串会造成内存溢出(OutofmemoryError)的错误,需要stringBuffer或StringBuilder来解决
stringBuffer:线程不安全,速度快
stringBuilder:线程安全,速度稍慢。 内部有一个可变的数组,所以比string速度快,内存消耗小。
在实际开发中,字符串的增删改要用stringBuffer或stringBuilder解决
stringBuffer、stringBuilder的常用方法
String str="好好学习";
StringBuilder sbd=new StringBuilder(str);
- sbd.append(); 追加在最后
- sbd.replace(起始,结束,内容); 修改内容
- sbd.deleteCharAt(); 删除指定位置的字符串
- sbd.delete(起始,结束); 删除一个区间
- sbd.delete(0,sbd.lenth()); 删除全部
- sbd.insert(位置,内容); 在指定位置增加
- sbd.reserve(); 对字符串进行反转