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. SpringBoot整合logback日志框架

    在resource下创建一个名称为 logback-spring.xml文件 <configuration> <!--日志文件夹存放的名称--> <contextName ...

  2. 【LeetCode】544. Output Contest Matches 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 遍历 日期 题目地址:https://leetcode ...

  3. 【九度OJ】题目1144:Freckles 解题报告

    [九度OJ]题目1144:Freckles 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1144 题目描述: In an ...

  4. 【剑指Offer】数组中只出现一次的数字 解题报告(Python)

    [剑指Offer]数组中只出现一次的数字 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  5. Harry Potter and the Hide Story(hdu3988)

    Harry Potter and the Hide Story Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 ...

  6. How many integers can you find(hdu1796)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  7. IDEA 延长使用

    压缩包下载地址:https://i.cnblogs.com/files 1.先以试用的形式进入idea,然后help -> Edit Custom VM Options 2.插入 :-javaa ...

  8. Vue.js高效前端开发 • 【Ant Design of Vue框架进阶】

    全部章节 >>>> 文章目录 一.栅格组件 1.栅格组件介绍 2.栅格组件使用 3.实践练习 二.输入组件 1.输入框组件使用 2.选择器组件使用 3.单选框组件使用 4.实践 ...

  9. mysql语句3-插入、修改删除表

    二.DML数据操纵语句 关键字:insert(插入)  delete(删除)  update(更新)  select(查询) 1.表创建好以后,就可以插入记录了,语法如下: 方法一 :insert i ...

  10. systemd学习及使用

    什么是systemd? (译)systemd是linux系统的一组基础构件块.它提供了一个系统和服务的管理,它以PID 1 的形式运行并启动系统的其余部分.systemd 使用积极的并行化功能,使用s ...