A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹操 黑马帝   /  2012-6-3 23:26  /  3886 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我只是知道一个是长度可变的,一个是长度不可变的简单结论

10 个回复

倒序浏览
没多少区别String 对值进行改变的时候 无论变成什么 原来的字符串内存都不会用到~ 都会产生一个新的字符串、~  或者说 String 声明的字符串是不可以改变的
而StringBuffer 缓冲字符串~ 它声明的变量的值是可以改变的~ 可以在某字符串的基础上删除替换其中某一个字符 而不需要生成一个新的字符串~~~一般来说 推荐使用StringBuffer
回复 使用道具 举报
StringBuffer是用来创建一个可变的字符串。
String数组是有多个String类型的元素组成的集合。
这概念和用法上很大差别的
回复 使用道具 举报
我不得不说一句,你提了几个类似形式的问题,这种问题是不会得到技术分的,因为过于泛泛,这些问题去看视频自己很容易总结得出,请提一些有针对性的问题,谢谢...
回复 使用道具 举报
StringBuffer是个类,里面封装了好多方法,不仅长度可变,还可以随时修改、删除,并且同时支持多种数据类型
回复 使用道具 举报
袁錦泰 发表于 2012-6-4 00:32
我不得不说一句,你提了几个类似形式的问题,这种问题是不会得到技术分的,因为过于泛泛,这些问题去看视频自己 ...

谢谢提醒,版主很尽责
这是我寝室哥们前天去面试的题目,所以我才会提出来,我觉得这种题目能总结的很全面很透彻也是不容易的事情!
回复 使用道具 举报
主要StringBuffer有一个append方法
回复 使用道具 举报
StringBuffer与数组有什么区别?应该是StringBuffer与String的区别吧。
1、他们最主要的区别就是String类型的数组一经初始化后就不能改变,而StringBUffer数组的长度是可以改变的。
2、String数组的成员是引用类型,而StringBuffer是object的类型的。
3、StringBuffer可以通过append方法往数组末尾添加成员。
4、StringBuffer数组一旦确定后,可以通过toString()方法转为String类型数组
回复 使用道具 举报

StringBuffer是字符串缓冲区。是一个容器,并且它是安全的,可以用于多线程中,但较之Stringbuider(不安全)效率要低,所以一般都被Stringbuider取代其位置。
特点:
1,长度是可变化的。
2,可以直接操作多个数据类型(包括:int  boolean  string object   long... )。
3,最终会通过toString方法变成字符串。
StringBuffer 上的主要操作是 append 和 insert 方法。append中可以连续调用,称为方法调用链,例如
StringBuffer sb =  new StringBuffer();
sb.append("abc").append(true).append(34);
其长度用方法length()获得。
数组时固定长度的,且在定义时就已经确定只“装”哪种数据了。而StringBuffer则可以“装”int  boolean  string object   long... 在一个StringBuffer对象中。数组的长度是由属性length获得的。

回复 使用道具 举报
StringBuffer线程安全的可变字符序列,接受任意类型的数据,大小是可变的。
数组时接受固定大学的固定类型的数据。
回复 使用道具 举报
曹昌 发表于 2012-6-5 01:25
谢谢提醒,版主很尽责
这是我寝室哥们前天去面试的题目,所以我才会提出来,我觉得这种题目能总结的很全 ...

:handshake 多謝分享....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马