StringBuffer类(增删改查及长度可变原理)

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类(增删改查及长度可变原理)的更多相关文章
- Yii 1.1.17 四、属性标签、AR类增删改查、使用上传类与扩展第三方类库
一.属性标签与规则设置 当进入网站页面,将会读数据库返回信息到视图上.那么,现在定义模型中的属性在视图标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public ...
- 潭州课堂25班:Ph201805201 django框架 第六课 模型类增删改查,常用 的查询矣查询条件 (课堂笔记)
在视图函数中写入增删改查的方法 增: 在 urls 中配置路径 : 查: 1: 在后台打印数据 在模型类中添加格式化输出 : QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,, 找 ...
- EF(Entity Framework)通用DBHelper通用类,增删改查以及列表
其中 通用类名:DBhelper 实体类:UserInfo 1 //新增 2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo& ...
- django-rest-framework框架 第三篇 之CRUD视图扩展类(增删改查的优化)
CRUD视图扩展类 1 CreateModelMixin 2 RetrieveModelMixin 3 UpdateModelMixin 4 DestroyModelMixin <1> 创 ...
- EF 5.0 帮助类 增删改查
原文地址:http://www.cnblogs.com/luomingui/p/3362813.html EF 5.0 帮助类 加入命名空间: using System; using System.D ...
- EntityFramework经典数据访问层基类——增删改查
namespace StudentSys.DAL { public class BaseService<T>:IDisposable where T:BaseEntity,new() { ...
- php单例模式封装数据库操作类增删改查
<?php//三私一公 单例class Db{ //数据库连接对象 private static $instance; private static $table_name; private $ ...
- popup的简单应用举例(具体在增删改查组件中用到)以及补充的知识点
一.首先说一下自执行函数 1. 立即执行函数是什么?也就是匿名函数 立即执行函数就是 声明一个匿名函数 马上调用这个匿名函数 2.popup的举例 点击,弹出一个新的窗口.保存完事,页面不刷新数据就返 ...
- MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- java判断一个字符串是否为数字(整型、int)
引入commons-lang 的jar包 /** * 判断是否是数字类型 * @param str * @return 如果为空返回false 匹配返回true */ public static bo ...
- Spring Boot去掉浏览器默认的叶子图标
在Spring Boot的配置文件application.properites中添加配置项,可以关闭默认的Favicon spring.mvc.favicon.enabled=false
- c++11之std::bind简单使用
note 更多用法,请参考: cppreference 用的少,容易忘. 我的理解 类似延迟计算. 比如,回调函数,将回调函数传入后,回调函数不一定马上被调用. 它是一个模板类,调用后将生成一个新的调 ...
- 【LeetCode】252. Meeting Rooms 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序 日期 题目地址:https://leetcode ...
- 【LeetCode】965. Univalued Binary Tree 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS DFS 日期 题目地址:https://le ...
- react hooks 如何自定义组件(react函数组件的封装)
前言 这里写一下如何封装可复用组件.首先技术栈 react hooks + props-type + jsx封装纯函数组件.类组件和typeScript在这不做讨论,大家别白跑一趟. 接下来会说一下封 ...
- Bean拷贝工具
Apache BeanUtils Spring BeanUtils cglib BeanCopier Hutool BeanUtil Mapstruct Dozer 1.Apache BeanUti ...
- 预训练模型时代:告别finetune, 拥抱adapter
NLP论文解读 原创•作者 |FLIPPED 研究背景 随着计算算力的不断增加,以transformer为主要架构的预训练模型进入了百花齐放的时代.BERT.RoBERTa等模型的提出为NLP相关问题 ...
- Java Web项目 慧心人力资源管理系统
题目:慧心人力资源管理系统 文档下载:https://download.csdn.net/download/weixin_44893902/16336711 完整项目下载:https://downlo ...
- MySQL数据操作与查询笔记 • 【第5章 MySQL 函数】
全部章节 >>>> 本章目录 5.1 数学函数和控制流函数 5.1.1 数学函数 5.1.2 控制流函数 5.2 字符串函数 5.2.1 字符串函数介绍 5.2.2 字符串 ...