热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpbytestringbuffer,重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结

重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结一、StringBuffer类概述buffer:缓冲2

重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结

一、StringBuffer类概述buffer:缓冲

2. 字符串缓冲区,跟String非常相似,都是用来存字符串数据的

3. String类和StringBuffer类中都有一个char数组,它就是缓冲区 String类的这个缓冲区我们是不能进行操作,而StringBuffer类的这个缓冲区可以控制它的长度

4. java.lang包

5. 缓冲区不够用时可以自动增长

二、构造方法public StringBuffer(),无参构造方法,构造一个空的字符串缓冲区,初始容量为16个字符

public StringBuffer(int capacity),构造一个指定容量的空的字符串缓冲区

public StringBuffer(String str),使用一个字符串作为初始内容来构造一个字符串缓冲区,并在后面预留16个字符的空缓冲区

1. StringBuffer sb="hello"; 不行

2. StringBuffer sb=new StringBuffer("hello");

sb+"world"; 不行

三、功能方法public StringBuffer append(任意类型 o),把任意类型数据的字符串表达形式追加到缓冲区的最后(例如:如果是对象,追加的是其toString方法的返回值)

public StringBuffer insert(int offset,任意类型 o),把任意类型的字符串表达形式插入到缓冲区指定位置

public int capacity(),获得字符串缓冲区的当前容量

public int length(),获得字符串缓冲区内字符串的长度

public StringBuffer delete(int start,int end),删除缓冲区指定起始位置的字符串

public StringBuffer deleteCharAt(int index),删除缓冲指定位置的字符

public StringBuffer replace(int start,int end,String str),把缓冲区指定位置的字符串替换为新的字符串

public StringBuffer reverse(),字符串反转(倒)

public String toString(),把StringBuffer转换为String类型

四、String和StringBuffer的区别1. StringBuffer sb="hello"; 不行

2. StringBuffer sb=new StringBuffer("hello"); sb+"world"; 不行

3. String对象是不可变的,StringBuffer对象是可变的(画内存分配图)

4. StringBuffer保证线程安全(数据同步),String不保证线程安全(数据不同步)

五、StringBuilder类它跟StringBuffer一样,两个类兼容的

2. 该类不保证线程安全

3. 在不考虑多线程的情况下,字符串三姐妹的效率:StringBuilder类 > StringBuffer类 > String类如果连接字符串常量,使用字符串的“+”效率更高;如果连接字符串变量,使用StringBuffer的append方法效率更高

六、包装类Java有8大基本数据类型:byte、short、int、long;float、double;char、boolean

2. String s="100"; String s="99.999" ;

3. Java提供了基本数据类型对应的引用数据类型:Byte、Character、Short、Integer、Long、Float、Double、Boolean

4. 不管是引用数据类型还是基本数据类型,他们的作用都是一样的。差别主要是:引用类型里面可以提供方法,基本数据类型不行

5. 基本数据类型对应的引用数据类型叫包装类

6. 包装类的用法 Integer i=new Integer(100); //装箱 //int i=100; Integer j=100; //自动装箱(JDK5以后) System.out.println(i.intValue()+100); //拆箱 System.out.println(i+100); //自动拆箱(JDK5以后)

七、包装类的主要作用

这些类中提供了一下功能方法,可以实现把String类型的数据转换成包装类或基本数据类型1.String和包装类之间互相转换 a.包装类转换为String Integer i=100; i+"" toString() b.String转换为包装类 valueOf:该方法在哪个类,那么它的作用就是把其他类型转换成它所在的这个类2.String和基本数据类型之间的互相转换 a.基本数据类型转换为String +"" b.String转换为基本数据类型

八、正则表达式程序需要对客户录入的数据进行校验

2. 正则表达式的作用就是对数据进行校验(针对格式)

3. 示例:郑州市固定电话(0371-56061160-223) 区号固定为0371 电话号码固定8位,不能以0开头 分机号可有可无,1-3位 都是数字 中间用“-”分割

4. String zz_phone="0371-[1-9]//d{7}(-//d{1,3})?";

5. 正则表达式是以字符串的形式存在的

6. 正则表达式就是由一堆特殊的符号组成的,用来描述或表达某种数据的格式的

九、怎么写正则表达式

1.先写固定不变的2.然后分块写,每块都是先指定类型后指定个数

十、怎么用正则表达式进行数据校验1.String类的public boolean matches(String regex){}String email="601141632@qq.com";String email_regex=".+@//w+//.[a-z]{2,}";email.matches(email_regex);

2.java.util.regex包中有个Pattern类public static matches(String regex,String input){}

十一、String类的split方法支持正则表达式

2.String类的replace方法不支持正则表达式,replaceAll支持正则表达式

以上就是重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结的内容,更多相关内容请关注PHP中文网(www.php.cn)!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!



推荐阅读
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • ***byte(字节)根据长度转成kb(千字节)和mb(兆字节)**parambytes*return*publicstaticStringbytes2kb(longbytes){ ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 总结一下C中string的操作,来自〈CPrimer〉第四版。1.string对象的定义和初始化:strings1;空串strings2(s1);将s2初始 ... [详细]
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
author-avatar
aarongwang56_972
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有