惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
小众软件
小众软件
S
SegmentFault 最新的问题
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
C
Check Point Blog
S
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
罗磊的独立博客
有赞技术团队
有赞技术团队
V
V2EX
Y
Y Combinator Blog
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
W
WeLiveSecurity
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
S
Security @ Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
MyScale Blog
MyScale Blog
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
PCI Perspectives
PCI Perspectives
H
Heimdal Security Blog
Schneier on Security
Schneier on Security
Security Latest
Security Latest
AWS News Blog
AWS News Blog
月光博客
月光博客
Security Archives - TechRepublic
Security Archives - TechRepublic
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
博客园 - Franky
Cisco Talos Blog
Cisco Talos Blog
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
T
Troy Hunt's Blog
N
News and Events Feed by Topic
Cloudbric
Cloudbric
Scott Helme
Scott Helme
云风的 BLOG
云风的 BLOG
Attack and Defense Labs
Attack and Defense Labs

博客园 - 震

关于反射中方法指针中我遇到的问题 一些关于数据库的问题 使用ORACLE和MYSQL的简单心得 出来混总有一天要还的 Java中的访问修饰符 Java中的static、final、this、super xslt学习简单笔记 XML schema学习笔记 DOM中对象的方法(转贴) 学习JavaScript的开源好东东 关于CSS中的一些问题 - 震 - 博客园 web标准的悄然袭来 替换字符性能测试 在JAVA中调用外部可执行程序 - 震 - 博客园 一小练习 - 震 - 博客园 将Java对象转为String的几种方法剖析(转贴) java 中的随机数用法 两种特殊的Java容器类List和Set分析[转贴] java.util.list初体验
Java中的String类和StringBuffer类
· 2006-06-05 · via 博客园 - 震

        在JAVA中String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。下面简单的说说二个类的差别:
1.String:
        Java String对象是常量字符串。一旦被初始化和付值,它的值和所分配的内存就被固定了。如果硬要改变它的值,将会产生一个包含新值的新String对象,这就是String对象会消耗掉很多资源的原因。

public class Test{
    
public static void main(String[] args){
        String i 
= "";
        i 
+= "am ";
        i 
+= "Adam";
        }

}

系统会在每次添加字符串的时候都会创建一个新的对象。这样就消耗了太多的资源。并且String类在处理数据库字符的时候也显得过于繁琐。
2.StringBuffer:
        面对String的各种问题,出现了StringBuffer类,StringBuffer类是String类的增强类。StringBuffer是字符串变量,它的对象是可以扩充和修改的。StringBuffer类被设计用与创建和操作动态字符串信息,为该对象分配的内存会自动扩展以容纳新增的文本。

public class Test{
    
public static void main(String[] args){
    StringBuffer buf 
= new StringBuffer("I");
        buf.append(
" am ");
        buf.append(
"Adam"); 
        System.out.println(buf);
        }

}

上面使用append方法将字符串添加到当前StringBuffer对象内容的结尾,并且仅只创建了一个对象。append还允许将各种类型的数据添加到对象的末尾。当然还有更多的方法来处理存储在StringBuffer对象内的字符串。例如:
setCharAt():将给定索引处的字符设置为 ch
insert():将字符串插入给定索引处。
replace(): 使用给定 String 中的字符替换此序列的子字符串中的字符。
delete():移除此序列的子字符串中的字符。