Java中String类的常用方法以及String、StringBuffer和StringBuilder的区别

一:String类

String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。

 String类的两种实例化方式:

  • 1 . 直接赋值,在堆上分配空间。

String str = "hello";

  • 2 . 传统方法。通过构造方法实例化String类对象

String str1 = new String("Hello");

 常用方法:

public class StringTest03 {
    public static void main(String[] args) {
        //方法调用:1.调用方法  对象.方法名();  2:传入参数;3:接受方法的返回值;
        String s1="abcdefg";
        char ch1=s1.charAt(2);  //获取字符中指定索引位置的字符
        System.out.println(ch1);

        String s2=s1.concat("xyz"); //字符串的拼接
        System.out.println(s2);

        boolean b1=s1.contains("xyz");  //判断字符串中是否存在某个字符
        boolean b2=s2.contains("xyz");
        System.out.println(b1);
        System.out.println(b2);

        String s3="zhangsan.jpg";
        boolean b3=s3.endsWith(".jpg"); //常用来判断文件名的后缀
        System.out.println(s3);

        byte[] bytes1=s1.getBytes(); //把字符串按照ASCII解析成byte数组  bytes1={97,98,99,100,101,102}

        String s4="abcxyzdefjpqxyzmno";
        int index1=s4.indexOf('x');
        int index2=s4.indexOf("xyz");
        System.out.println(index1);
        System.out.println(index2);

        String s5="bad weather fuck the weather";
        String s6=s5.replace("fuck","***");
        System.out.println(s6);

        String s7="app/code/java/day19";
        String[] split=s7.split("/");  //按照 / 拆分成字符串["app","code","java","day19"]

        String s8="abcdefgh";
        String s9=s8.substring(2,5);
        System.out.println(s9);

    }
}

二:String、StringBuffer、StringBuilder的区别

StringBuffer、StringBuilder与String的区别:

  • 1.效率比String高
  • 2.比String节省内存

区别:

都是final类,都不允许被继承

String类长度是不可变的,StringBuffer和StringBuilder类长度是可以改变的

StringBuffer类是线程安全的,StringBuilder不是线程安全的

不同点:
stringbuffer和stringbuilder都不同于string

string当修改字符串时,是在内存中创建一个新的字符串,并把地址传给string 对象,因此比较浪费空间,而stringbuffer和stringbuilder是在初始时创建一个容器,当修改的时候会修改容器中的内容,而不是创建一个新的容器,所以如果有一个需要频繁改变的字符串的话,最好不要使用string。

String和StringBuilder最大的区别在于 String 的内容无法修改,而 StringBuilder 的内容可以修改。频繁修改字符串的情况考虑使用StringBuilder。

string buffer和stringbuilder的方法基本上相同

运行速度:StringBuilder > StringBuffer > String

线程安全:StringBuilder  <  StringBuffer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值