栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

String/StringBuilder

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String/StringBuilder

String:Java中所有的字符串都是String类型的实例 1、创建对象

        public String()        创建一个空白的字符串对象,不含有任何内容

        public String (char[] c)        根据字符数组的内容,创建字符串对象

        public String (byte[] b)        根据字节数组的内容,创建字符串对象

        String(byte[] bytes,int offset,int length)       

               根据字节数组的内容,从偏移量(下标)offset开始,获取length个字符,创建字符串象

         String s="abc";        直接赋值的方式创建对象

==和equals

        ==:判断地址值是否相同(针对引用数据类型)

        equals:判断内容是否相同(String专用,且String的值不能为null)

        String s=null;

        s.equals("abc");//程序出错

2、遍历:String底层为char数组,更底层为byte数组

            有下标有长度

            长度通过length()获取

            获取元素通过charAt(int index)

            例如://遍历字符串s中的字符

                    String s="abc";

                    for(int i=0;i

                    System.out.println(s.charAt(i));

                     }

3、切分:String[] split(String regex)

        regex:字符串的切分条件

        regex:可以写成多个通过 | 分割 

                例如:split(",|。"); 以,或。分割

4、转义符:

        作用:将当前后第一个字符或符号,更改原含义

        例如:sout("n"); 当前n做字符串使用

                   sout("n"); 当前n做关键字使用,java识别为换行符

5、判断头前缀尾后缀

        前缀:String对象.startWith(String str);

        后缀:String对象.endWith(String str);

 6、String特点

        String是一个特殊的引用数据类型,通常做基本数据来使用

        String值不可变

        String值可以被共享

        String做拼接或修改时,都会生成新的字符串对象,这种方式不可避免,又消耗时间又消耗

        资源,为了避免这种操作,可以通过StringBuilder解决

””、null、new String()三者的区别

null 表示string还没有new ,也就是说对象的引用还没有创建,也没有分配内存空间给他,而””、new String()则说明了已经new了,只不过内部为空,但是它创建了对象的引用,是需要分配内存空间的。 

java的虚拟机在内存中开辟出一块单独的区域,用来存储字符串对象,这块内存区域被称为字符串缓冲池。那个java的字符串缓冲池是如何工作的呢? 

创建字符串的时候先查找字符串缓冲池中有没有相同的对象,如果有相同的对象就直接返回该对象的引用,如果没有相同的对象就在字符串缓冲池中创建该对象,然后将该对象的应用返回。


StringBuilder:是一个可变的字符串,默认空间大小为16

1、构造:   StringBuilder()        创建一个空白的StringBuilder对象,不含有任何内容

                   StringBuilder(String str)          根据字符串的内容,创建StringBuilder对象

 2、操作:public StringBuilder append(任意类型)        添加数据并返回对象本身

                   public StringBuilder reserve()        返回相反的字符序列   

注意:StringBuilder和StringBuffer的区别

           StringBuilder :线程不安全,执行速度快

           StringBuffer :线程安全,执行速度慢


相互转化

      1.  String->StringBuilder:

                String中没有的操作功能,StringBuilder中有

                通过StringBuilder(String str)转换

String s="hello";

StringBuilder sb=new StringBuilder(s);

        2.  StringBuilder->String:通常转为String类型来操作

                 StringBuilder中没有的操作功能,String中有

                 通过StringBuilder中的toString()转换

StringBuilder sb=new StringBuilder();

sb.toString();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325576.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号