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

重拾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中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 页面开启错误提示,php开启与关闭错误提示

windows系统开关php错误提示如果不具备修改php.ini的权限,可以将如下代码加入php文件中:代码如下 复制代码ini_set("display_errors", "On");error_reporting(E_ALL | E_STRICT);当然,如果能够修改php.ini的话&#xff0…

Maven下载jar包时出错、Maven仓库中出现.lastUpdated结尾的文件问题及解决

创建一个新项目,下载依赖时,出现以下错误,在本地maven仓库中的远程镜像地址配置也正确的情况下,分析了以下问题: 在这里插入图片描述1.idea报依赖冲突的错误,打开Project Structure,如果发现相…

ga tsp matlab,遗传算法(GA)求解TSP问题MATLAB程序

本程序求解常见的组合优化问题TSP问题,如果仅仅是用一个程序去求解一个优化问题,显然这样的工作意义并不大。主要是因为求解的好坏往往是很难评价的,另外尤其对于遗传算法来说,遗传算法交叉变异方法不同,交叉率&#x…

墨卡托投影介绍

一、墨卡托投影 墨卡托投影,又称正轴等角圆柱投影,由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影到圆柱体上,再把…

disallow php,在robots.txt中Disallow: /abc和Disallow: /abc/的区别

站长:不就是多了条斜杠吗,能有多大不同?小编:很多新手站长搞不明白这其中的作用,其实作用区别很大的呦。Disallow: /abc表示禁止蜘蛛索引网站根目录下所有以abc开头的文件夹和文件举例:/abc.html/abcde.php…

Java double转decimal_Java中Double与BigDecimal的相互转换

今天写代码过程中,发现一个Double的变量通过new BigDecimal(Double d)转换为BigDecimal时,有效数字改变了,如下: public class BigDecimalTest {public static void main(String[] arg) {String s1 "123.45";Double d…

oracle数据库日期加一,日期和Oracle数据库

我想知道Oracle环境中的哪个参数导致这个:假设我在两台不同的服务器上有两个数据库。数据库中的数据相同。在sql developer下我写这个查询:select to_char(date_column, DD/MM/YYYY) from my_table;当我在sql developer中检查my_table时,日期…

JTS使用实践

文章目录JTS使用实践一、前言简介环境二、正文基础说明使用记录创建几何要素操作示例JTS使用实践 一、前言 简介 JTS Topology Suite(Java Topology Suite)是一个开源的Java软件库,它为欧几里得平面线性几何提供了一个对象模型以及一组基本…

matlab 信息融合,MSDF,matlab,多传感器信息融合

MSDF,matlab,多传感器信息融合关注次数: 164下载次数: 15文件大小: 7.52M下载需要积分: 1代码分类:开发平台: matlab上传会员: yhcpp下载代码预览代码Downma.com:专注MAT…

JTS基本概念和使用

简介 JTS是加拿大的 Vivid Solutions公司做的一套开放源码的 Java API。它提供了一套空间数据操作的核心算法。为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词API。 操作 表示Geometry对象 Geometry类型介绍见另一篇文章:WKT WKB和GeoJSON pa…

sde oracle11g,Arcsde post oracle11g报错解决办法

环境:oracle11.2.0.3和oracle10.2.0.1,Arcsde9.3.1在oracle11.2.0.3中创建ab实例,然后使用Arcsde9.3.1 post oracle11.2.0.3创建配置sde,在post过程中报错,错误内容为[Thu Apr 04 10:24:55 2013] ERROR: Unable to loa…

GIS算法:可视化工具JTS TestBuilder

java、python、js都有可以引用的第三方包,实现GIS的空间算法。 java是jts,python是shapely,js是turf。 其中jts值得首先拥有,因为jts提供了一个界面工具JTS TestBuilder,可以在上面绘制图形,验证各种算法…

php aes 3des区别,AES和3DES之间的区别

Post Views:283AES与3DESAES(高级加密标准)和3DES(也称为Triple DES(数据加密标准))是当前数据加密中的两个标准。AES是使用替代置换网络的全新加密,而3DES只是对依靠平衡Feistel网络的旧DES加密的一种改编。基本上,3DES只是将DES应用于加密信息的 3次。…

wkt区域围栏

API文档 http://shengshifeiyang.gitee.io/geotools-learning/ /** * 判断以x,y为坐标的点point(x,y)是否在geometry表示的Polygon中 * param x * param y * param geometry wkt格式 POLYGON((0 0, 10 0, 10 10, 0 10,0 0)) * return */ public static boolean withinGeo(doub…

oracle监听生成trace,监听器控制程序lsnrctl跟踪trace file

Oracle监听器是一个独立的数据库组件,在整个体系中扮演非常重要的作用。即使在windows平台上,监听器listener也被实现成为一个独立的进程程序。在一些与网络相关的故障中,监听器相关故障占了很大部分。了解监听器的工作过程,分析每…

Math.sin() 与 Math.cos() 用法

Math.sin() 与 Math.cos() 用法 Math.sin(x) x 的正玄值。返回值在 -1.0 到 1.0 之间;Math.cos(x) x 的余弦值。返回的是 -1.0 到 1.0 之间的数; 这两个函数中的X 都是指的“弧度”而非“角度”,弧度的计算公式为: 2PI/360…

oracle关联字段和序列,oracle(9) 序列和约束

序列 SEQUENCE也是数据库对象之一,作用:根据指定的规则生成一些列数字。序列通常是为某张表的主键提供值使用。主键:通常每张表都会有主键字段,该字段的值要求非空且唯一,使用该字段来确定表中的每一条记录。CREATE SE…

lambda表达式处理异常_lambda表达式内出现异常无法throw抛出

lambda体中有受检异常,为什么不能在lambda表达式外层try catch,只能在lambda里面try catch xxx.getUpdateList().forEach((map) ->{xxxVO vo new xxxVO();BeanUtils.populate(vo,map); // populate方法往外抛了异常list.add(vo);});因为lambda表达式本身没有处理异常的机制…

lambda处理异常四种方式

最近对接第三方呼叫系统,第三方SDK的所有方法里都有异常抛出,因为用到了lambda,所以异常处理还是很必要的。 本文主要用到了四种解决方案: 直接代码块处理自定义函数式接口,warp静态方法通过Either 类型包装通过Pair…

linux 历史命令快捷键,Linux历史命令及bash快捷键

本文环境 Centos71.历史命令1.1 在使用linux中熟练的使用历史命令,能给我很多便捷,下面我来总结一些常用的一些历史命令。a) 执行上一条命令,这个很重要 ,执行上一条命令有四种方法,如下:[rootCentOS-7-64data]#[rootCentOS-7-64 …