java的 String、StringBuffer、StringBuilder的区别

一、三者的区别

  1. String类的每次改变都会生成一个新的字符串,浪费内存空间;适用于少量的数据处理;
  2. StringBuffer和StringBuilder每次都改变自身,不生成新的对像,节约内存 ;
  3. StringBuilder的多线程不安全,但运行速率较高,用于单线程大量数据理;StringBuffer用于多线程大量数据的处理。

二、String小结

创建字符串:

  1. 字符串常量创建:
String str = "有志者事竟成";
  1. 构造方法创建:
String str = new String("有志者事竟成");

String常用方法:

  1. 调用equals(object)方法:此方法比较字符值是否相等;
String str1 = "有志者事竞成";
String str2 = "有志者事竞成";
Boolean result = str.equals(str2)// result = true;
  1. 使用比较运算符 == :比较两字符串地址是否相同
String str1 = "有志者事竟成";
String str2 = "有志者事竟成";
String str3 = new String("有志者事竟成”);
Boolean result = (str1 == str2);// result = true
Boolean result = (str1 == str3);// result = false
  1. 获取指定位置的字符 str.charAt(String index);
public static void main(String args[]) {
     String s = "有志者事竟成";
     char result = s.charAt(0);
     System.out.println(result);//  输出结果为: 有
 }
  1. 获取指定符串的位置 str.indexOf(String str);
public static void main(String args[]) {
     String s = "有志者事竟成";
     int result = s.indexOf(“志者”);
     System.out.println(result);//  输出结果为: 1
 }

二、StringBuffer小结

StringBuffer类的常用方法

  1. StringBuffer类的创建
StringBuffer sbf = new StringBuffer("aWdefEhi");
  1. append()方法: 字符串的追加
public static void main(String[] args) {
     StringBuffer sbf = new StringBuffer("aWdefEhi");
     sbf.append("ACpqrstBDwxyz");
     System.out.println(sbf);
}

输入输出结果:
在这里插入图片描述

  1. reverse():字符串的反转
StringBuffer sbf = new StringBuffer("你是年少的欢喜");
System.out.println(sbf.reverse());//输出结果为 喜欢的少年是你
  1. delete(int start, int end): 移除字符串中的字符
public static void main(String[] args) {
      StringBuffer stbuf = new StringBuffer("abcdef");
      stbuf.delete(2,4);//删除索引位置2,3两位
       System.out.println(stbuf);
   }

输出结果:
在这里插入图片描述

  1. deleteCharAt():删除指定位置的字符
    public static void main(String[] args) {
      StringBuffer stbuf = new StringBuffer("abcdef");
      stbuf.deleteCharAt(2);
      System.out.println(stbuf);//输出结果:  abdef
  }

三、StringBuilder小结

用法同StringBuffer

发布了23 篇原创文章 · 获赞 4 · 访问量 617

猜你喜欢

转载自blog.csdn.net/weixin_43331769/article/details/103573781
今日推荐