Java语言基础之String,StringBuffer,StringBulider

来源:互联网 发布:曼秀雷敦护手霜 知乎 编辑:程序博客网 时间:2024/06/04 22:46

就像C++中的String一样,String类型也有这许多相同之处。


String的相关操作:

1字符串长度获取: int length() 方法

2查找字符的位置: int indexOf(int ch);

3查找字符串的位置: indexof(String str);

4查找是否包含字符串:boolean contains(String str)

5判断字符串内容是否相同 :boolean equals(String str) 

6判断字符串内容是否相同 并忽略大小写 boolean  equalsIgnoreCase(String str)

7判断字符串是否匹配给定的正则表达式。 boolean matches(String regex)  

8获得子串:String substring(int beginIndex, int endIndex)  返回一个新字符串


字符串相关转换:

转换为字符串:

通过String构造方法,可以将字节数组转成字符串:String(byte[] b)

通过String构造方法,  可以将字符数组转成字符串:String(char[] ch) 

通过String构造方法,  将StringBuffer转换为字符串:String(Stringbuffer buffer)

通过String构造方法,  将StringBuilder转换为字符串:String(StringBuilder builder)


转换为其他数据类型:

将字符串转成字符数组:char[] toCharArray()

将字符串转换成字节数组:byte[] getBytes() 


字符替换:

  String replace(char oldchar,char newchar)

  String replaceAll(String regex, String replacement)


字符比较:

int compareTo(String anotherString) 按字典顺序比较两个字符串。
int compareToIgnoreCase(String str)   按字典顺序比较两个字符串,不考虑大小写。



StringBuffer与StringBulider

 StringBuffer  线程同步     安全  但效率低 建议多线程时用
 StringBuilder 线程不同步  不安全 但效率高 建议单线程用

package Com.Example.Stringbuffer;public class Main {/* * StringBuffer  线程同步     安全  但效率低 建议多线程时用  * StringBuilder 线程不同步  不安全 但效率高 建议单线程用 */public static void main(String[] args) {/**StringBuffer  线程同步**************************/StringBuffer sb= new StringBuffer();sb.append("10");sb.append("rr");System.out.println(sb.toString());sb.insert(0, "start");System.out.println(sb.toString());sb.delete(0, 3);System.out.println(sb.toString());System.out.println(sb.length());System.out.println(sb.indexOf("rr"));System.out.println(sb.reverse());/************************************************//********StringBuilder  线程不同步*****************/ StringBuilder sb2=new StringBuilder();sb2.append("aaa");System.out.println(sb2.toString());/***********************************************//***********************************************/String str=" 1..    ";System.out.println(str.trim()); //去除空格char [] charg={'a','b','c'};// 将字符数组转化为字符串String str2= new String(charg);System.out.println(str2);/***********************************************/}}

 升级通常需要考虑的三个重要因素:
  提高安全性
  提高效率
  简化书写


0 0