1 package cn.itcast.p2.stringbuffer.demo;
2
3 public class StringBufferDemo {
4
5 public static void main(String[] args) {
6 // TODO Auto-generated method stub
7 /*
8 * StringBuffer:就是字符串缓冲区。
9 * 用于存储数据的容器。(数组也是个容器)
10 * 特点:
11 * 1,长度是可变的。
12 * 2,可以存储不同类型数据。
13 * 3,最终要转成字符串进行使用。
14 * 4,可以对字符串修改
15 *
16 * 既然是一个容器。应该具备什么功能呢?
17 * 1,添加:
18 * StringBuffer append(data);
19 * StringBuffer insert(index,data)
20 * 2,删除:
21 * StringBuffer delete(start,end);包含头不包含尾
22 * StringBuffer deleteCharAt(int index);删除指定位置的元素
23 * 3,查找:
24 * char charAt(index);
25 * int indexOf(string);
26 * int lastIndexOf(string);
27 * 4,修改:
28 * StringBuffer replace(start,end,string)
29 * void setCharAt(index,char);
30 * 增删改查 C(create)U(update)R(read)D(delete)
31 */
32 bufferMethodDemo();
33
34 bufferMethodDemo_1();
35
36 bufferMethodDemo_2();
37
38 bufferMethodDemo_3();
39
40 bufferMethodDemo_4();
41 }
42 private static void bufferMethodDemo_4() {
43 StringBuffer sb = new StringBuffer("abce");
44
45 //sb.setLength(2);//ab
46 //sb.setLength(0);//相当于清空缓冲区
47 //sb.setLength(10);
48 System.out.println("sb:"+sb);
49 System.out.println("len:"+sb.length());
50
51 System.out.println(sb.reverse());//ecba
52 }
53 private static void bufferMethodDemo_3() {//修改
54 StringBuffer sb = new StringBuffer("abce");
55 sb.replace(1, 3, "nba");
56 sb.setCharAt(2, 'q');
57 System.out.println(sb);
58 }
59 private static void bufferMethodDemo_2() {//删除
60 StringBuffer sb = new StringBuffer("abce");
61
62 sb.delete(1, 3);
63 //清空缓冲区。
64 sb.delete(0, sb.length());
65 sb = new StringBuffer();//重新做缓冲区
66 System.out.println(sb);
67 }
68 private static void bufferMethodDemo_1() {//插入
69 StringBuffer sb = new StringBuffer("abce");
70 sb.insert(2, "qq");
71 System.out.println(sb.toString());
72
73 }
74 public static void bufferMethodDemo() {//添加
75 //创建缓冲区对象。
76 StringBuffer sb = new StringBuffer();
77
78 StringBuffer s1 = sb.append(4);
79 s1.append(false);
80 System.out.println(sb==s1);//true
81
82 s1.append("ha").append("ha");
83 System.out.println(sb);
84 s1.insert(1, "haha");
85 System.out.println(sb);
86
87 }
88 /*
89 * StringBuffer() 构造一个其中不带字符的字符串缓冲区,初始容量为16个字符
90 *
91 * StringBuffer(int capacity) 构造一个不带字符,但具有指定初始容量的字符串缓冲区。
92 *
93 * 两个的区别就是看具体适用哪个,用StringBuffer()一旦超过16 就延长不仅开辟空间又要进行运算
94 * 初始化一个指定容量的就可以避免这个情况。
95 */
96
97 }

StringBuffer类(增删改查及长度可变原理)的更多相关文章

  1. Yii 1.1.17 四、属性标签、AR类增删改查、使用上传类与扩展第三方类库

    一.属性标签与规则设置 当进入网站页面,将会读数据库返回信息到视图上.那么,现在定义模型中的属性在视图标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public ...

  2. 潭州课堂25班:Ph201805201 django框架 第六课 模型类增删改查,常用 的查询矣查询条件 (课堂笔记)

    在视图函数中写入增删改查的方法 增: 在 urls 中配置路径 : 查: 1: 在后台打印数据 在模型类中添加格式化输出 : QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,, 找 ...

  3. EF(Entity Framework)通用DBHelper通用类,增删改查以及列表

    其中 通用类名:DBhelper 实体类:UserInfo 1 //新增 2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo& ...

  4. django-rest-framework框架 第三篇 之CRUD视图扩展类(增删改查的优化)

    CRUD视图扩展类 1 CreateModelMixin 2 RetrieveModelMixin 3 UpdateModelMixin 4 DestroyModelMixin <1> 创 ...

  5. EF 5.0 帮助类 增删改查

    原文地址:http://www.cnblogs.com/luomingui/p/3362813.html EF 5.0 帮助类 加入命名空间: using System; using System.D ...

  6. EntityFramework经典数据访问层基类——增删改查

    namespace StudentSys.DAL { public class BaseService<T>:IDisposable where T:BaseEntity,new() { ...

  7. php单例模式封装数据库操作类增删改查

    <?php//三私一公 单例class Db{ //数据库连接对象 private static $instance; private static $table_name; private $ ...

  8. popup的简单应用举例(具体在增删改查组件中用到)以及补充的知识点

    一.首先说一下自执行函数 1. 立即执行函数是什么?也就是匿名函数 立即执行函数就是 声明一个匿名函数 马上调用这个匿名函数 2.popup的举例 点击,弹出一个新的窗口.保存完事,页面不刷新数据就返 ...

  9. MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. ubuntu无法找到ifconfig(command not found: ifconfig)

    演示环境 $ uname -a Linux xxxxx-xxxxx-xxxx5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x8 ...

  2. 【LeetCode】838. Push Dominoes 解题报告(Python)

    [LeetCode]838. Push Dominoes 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http:// ...

  3. 取代 Maven?这款项目构建工具性能提升 300%

    在 GitHub 上闲逛的时候,发现了一个新的项目:maven-mvnd,持续霸占 GitHub trending 榜单好几天了. maven-mvnd,可以读作 Maven Daemon,译作 Ma ...

  4. SpringBoot中JPA使用动态SQL查询

    https://www.jianshu.com/p/f72d82e90948 可以重点关注方法二,把原生sql传入数据库去查询 好处是:更加灵活坏处是:拼接sql比较痛苦,也容易出问题,比如拼接的sq ...

  5. Eclipse提速优化方法

    Eclipse提速优化方法 Eclipse运行太慢了,尤其是导入大型maven项目的时候经常动不动就down掉,于是总结了一下Eclipse提速的方法. 1.关闭不常用的工程 打开的项目太多,会严重影 ...

  6. SpringBoot 之 多环境切换

    方式一:分开多个配置文件 # /src/main/resources/application.yaml server: port: 8080 spring: profiles: active: dev ...

  7. CSS基础 BFC的使用方法

    BFC的作用和创建1.html标签是BFC盒子2.浮动元素是BFC盒子3.行内块元素是BFC盒子4.overflow属性值不为visible,如:auto.hidden...作用:1.清除浮动: 2. ...

  8. IntelliJ IDEA 2020.1.1 x64 Debug 断点调试模式详解

    前言 对于初入职场的萌新们来说,很多都还不会 Debug 断点模式.记得我刚写代码的时候,也是通过 System.out.println() 一行一行的把变量打印出来看.其实强大的编辑器已经帮我们做好 ...

  9. RabbitMQ开启SSL与SpringBoot连接测试

    楔子 近期公司程序被安全扫描出 远程主机允许明文身份验证 中风险漏洞,查了下修复方案,RabbitMQ官方提供了SSL连接方式,而且 SpringBoot AMQP 也支持 SSL 连接.以下将配置R ...

  10. CentOS7添加开机启动服务或脚本

    方法一(rc.local) 改方式配置自动启动最为简单,只需要修改rc.local文件 由于在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod + ...