string与stringBuffer

stringstringBuffer

 

String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String final,即不能被继承.

StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象它只能通过构造函数来建立,StringBuffer sb = new StringBuffer();

note:不能通过付值符号对他进行付值

sb = "welcome to here!";//error

对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.StringBuffer中付值的时候可以通过它的append方法.sb.append("hello");

 

使用的条件是什么

如果在程序中需要对字符串进行频繁的修改连接操作的话.使用StringBuffer性能会更高

 

 

Stirng s=new String('abcd') 创建了几个对象?

String s表示声明了一个引用字符串的变量,这个变量存在栈中。new表示在内存中开辟一块新的空间,至于多大的空间,由后面的具体类型决定。通过new关键字生成的对象存在堆中。常量字符串都是在池中,不能算是创建了对象,当然你可以说它是一个String对象(之前已经存在了)。这里总共创建了两个对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值