String 类
字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串
注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
StringBuffer 和 StringBuilder 类
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类
和String类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据)
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类
获取方法:
- int length() :获取字符串长度
- char charAt(int index) :获取指定位置的字符
- int indexOf(String ch) :返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
- int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
判断方法:
- boolean endsWith(String str) :是否以指定字符串结束
- boolean isEmpty() :判断字符串是否为空
- boolean contains(CharSequence chars) :判断字符串中是否包含指定的字符或字符串
- boolean equals(Object anObject):是否相等
- boolean equalsIgnoreCase(String anotherString) :忽略大小写后是否相等
转换方法:
- char[] toCharArray() :将字符串转换为字符数组
- byte[] getBytes() :使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中
其他方法:
- String replace(char oldChar , char newChar) :用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串
- String[] split(String regex , int limit): 根据匹配给定的正则表达式来拆分字符串
- String substring(int beginIndex , int endIndex) :从指定开始和结束的索引值截取字符串
- String toLowerCase() :全转小写
- String toUpperCase() :全转大写
- String trim() :去前后空格
- String concat(String s):将指定的字符串参数连接到字符串上
- int hashCode():返回字符串的哈希码
