review19
StringBuffer类
String类创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的饿某个字符,即String对象一旦创建,那么实体是不可以再发生变化的。
而StringBuffer类创建可修改的字符串序列,也就是说,该类对象的实体的内存空间可以自动地改变大小。
StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等。
StringBuffer对象调用append方法可以追加字符序列,例如:
public class Test08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer("我喜欢");
System.out.println(sb);
sb.append("打篮球");
System.out.println(sb);
}
}
运行结果如下所示:

StringBuffer类有三个构造方法,
StringBuffer()
StringBuffer(int size)
StringBuffer(String s)
第一个无参数的构造方法创建一个StringBuffer对象,分配给该对象的实体的初始容量是16个字符
第二个构造方法创建的对象分配给该实体的容量是size个字符
第三个构造方法创建的对象分配给该实体的容量是s的长度加上16个字符
通过capacity()方法我们可以知道当前实体的实际容量。
append方法
StringBuffer append(String s):将一个字符串对象追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。
StringBuffer append(int n):将一个int型数据转化为字符串对象再追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。
StringBuffer append(Object o):将一个Object对象的字符串表示追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。
public char charAt(int n)得到参数n指定的位置上的单个字符
public void setCharAt(int n, char ch) 将StringBuffer对象n位置上的字符用ch替代
StringBuffer insert(int index, String str) StringBuffer对象使用insert方法将参数str指定的字符串插入到参数index指定的位置。
public StringBuffer reverse() StringBuffer对象使用reverse()方法将对象实体中的字符翻转,并返回当前对象的引用。
StringBuffer delete(int startIndex, int endIndex) 从当前StringBuffer对象实体中的字符串中删除一个子字符串,并返回当前对象的引用。
StringBuffer replace(int startIndex, int endIndex, String str) 将当前StringBuffer对象实体中的字符串的一个子字符串用参数str指定的字符串替换。
从startIndex到endIndex-1的字符串被替换。
上述方法使用情况如下所示:
public class Test09 {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer();
sb.append("大家好");
//str.append("大家好");
System.out.println("sb:" + sb);
System.out.println("sb的容量:" + sb.capacity());
StringBuffer sb1 = new StringBuffer("大家好");
System.out.println("sb1:" + sb1);
System.out.println("sb1的容量:" + sb1.capacity());
sb.setCharAt(0, 'w');
sb.setCharAt(1, 'e');
System.out.println(sb);
sb.insert(2, " are all");
System.out.println(sb);
int index = sb.indexOf("好");
sb.replace(index, sb.length(), "right");
System.out.println(sb);
}
}
运行结果如下所示:

review19的更多相关文章
随机推荐
- 学习 Unix 常用命令
第一个是 man 命令,作用是:"Display system documentation",我是 manual 的缩写.通过这个命令,我们能了解接下来要学习的命令的文档. ls, ...
- Pythonpika PhpAmqpLib rabbitmq服务中queues被清空的异常处理 无模式数据库对数据结构的定义和控制
/** * Declares queue, creates if needed * * @param string $queue * @param bool $passive * @param boo ...
- python系列十一:python3数据结构
#!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将 ...
- 【题解】BZOJ3489 A Hard RMQ problem(主席树套主席树)
[题解]A simple RMQ problem 占坑,免得咕咕咕了,争取在2h内写出代码 upd:由于博主太菜而且硬是要用指针写两个主席树,所以延后2hQAQ upd:由于博主太菜而且太懒所以他决定 ...
- setdefault函数的用法及个人理解
setdefault函数的用法及理解 dict.setdefault(key, default=None) 功能:如果键不存在于字典中,将会添加该键并将default的值设为该键的默认值,如果键存在于 ...
- https-SSL请求
# coding:utf-8import requests# 禁用安全请求警告from requests.packages.urllib3.exceptions import InsecureRequ ...
- Hard模式学编程
靖难: 我一直推崇一种学习编程的方法,就是learn programming the hard way,我把它翻译为Hard模式学编程 . 我觉得他有以下几个要领: 1. 一开始学习的时候,要尽量去化 ...
- zookeeper单机伪集群配置
一.配置 1.在 opt 目录下建一个文件夹 zk,分别把zookeeper 安装包复制三份,命令为zookeeper-0 zookeeper_1 zookeeper_2 2.分别在每一个zook ...
- [转载]威力导演14旗舰破解版(中文简体)|取消30天限制CyberLink&nb
2015月9月15日(当地时间),CyberLink讯连科技发布新一代视频编辑软件 — PowerDirector威力导演14,融合了上个版本发布以来的多次更新升级,威力导演依旧 ...
- PyQt4 进度条和日历 代码
# -*- coding: utf-8 -*- """ ------------------------------------------------- File Na ...