- 浏览: 57436 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
baifalove:
可以和我讲一下为什么 s标签写成 @s. 吗 是因为版本还是什 ...
struts2 遍历Map -
SEELEN:
很好!
servlet过滤器
public class Test { public static void stringReplace (String text) { text = text.replace('j' , 'i'); } public static void bufferReplace (StringBuffer text) { text = text.append("C"); } public static void main (String args[]) { String textString = new String ("java"); StringBuffer textBuffer = new StringBuffer ("java"); stringReplace (textString); bufferReplace (textBuffer); System.out.println (textString + textBuffer); } }
答案是 javajavaC
这是String参数传递,是不可变的(immutable).
而题目中第七行text = text.append (“C”),append方法会改变text中的值
而这个text与main中的textBuffer是指向同一个对象,所以对应的输出是javac。
string的值永远不会改变!
String a = "a";//假设a指向地址0x0001,
a = "b";//重新负值后a指向地址0x0002,但0x0001地址中保存的"a"依旧存在,但已经不再是a所指向的。
从表面上看String类型的对象改变了值,但事实是他不能改变值,只能改变指向的地址
StringBuffer则不同,直接改变指向的地址中保留的值
还有
StringBuffer s1 = new StringBuffer("a");
StringBuffer s2 = new StringBuffer("a");
s1.equals(s2)//为什么是false
String s1 = new String("a");
String s2 = new String("a");
s1.equals(s2)//为什么是true
StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,
而Object类中的equals方法是用来比较地址的,所以等于false.
String类中重新定义了equals这个方法,而且比较的是值,而不是地址。所以会是
true。
发表评论
-
Apache配置详解
2014-08-28 09:38 637Apache的配置 Apache的配 ... -
Eclipse下Java compiler level does not match the version of the installed Java pro
2014-03-19 18:18 828问题现象:项目图标报错“Java compiler level ... -
截取过长的文字部分,用省略号代替
2013-10-09 14:37 727截取过长的文字部分,用省略号代替: <DIV ST ... -
webservice学习
2013-05-09 16:17 830一、从http://ws.Apache.org/axis/网站 ... -
jsp处理表单及JS和JAVA变量互传
2012-07-17 16:16 1012原文:http://hi.baidu.com/ca ... -
java url重写
2010-12-16 09:42 1605这几天蛋疼.看看别人url重写是怎么搞的.. 1.解释下什么 ... -
用PreparedStatement在Oracle中插入日期
2010-11-11 15:02 16261、 如果要插入的日期是当前时间,最简单的办法就是利用orac ... -
java.lang.String的intern()方法
2010-10-09 15:25 645java.lang.String的intern()方法 &q ... -
java细节
2010-08-16 10:20 758关键字: java 基础 [转 ... -
Quartz CronTrigger最完整配置说明
2010-08-16 10:01 817原文链接http://bocolijun.it ... -
Oracle to_date方法
2010-08-16 09:55 1429关键字: oracle to_date 日期格式参数 含义 ... -
tomcat部署的三种方式
2010-08-14 16:59 7391、直接把项目web文件夹放在webapps里 2、修改co ... -
Quartz的cron表达式
2010-08-03 14:17 774网上的类似的例子较多 ... -
JSTL对Map集合的操作
2010-04-20 21:25 7531、迭代 当forEach 的items属性中的表 ... -
Java定时器
2010-03-26 16:42 760Java定时器 在应用开发中,经常需要一些周期性的操作,比如 ... -
jstl的fmt标签
2010-03-26 10:56 2497国际化格式标签库包括国际化,消息和数字日期格式化 : (1 ... -
servlet过滤器
2010-03-24 10:38 1715原文摘自http://gkuiyj.iteye.com/blo ... -
过滤器和拦截器的区别
2010-03-24 10:30 1312原文出自http://gkuiyj.iteye.com/blo ... -
struts2中List嵌套List迭代
2010-03-19 11:03 2584看到有人这样封装数据 for( ){ lists ... -
事务那点事
2010-03-12 14:59 870今天看到别人谈论有关事务的话题,我也简单说两句自己对事务的理解 ...
相关推荐
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候...
从非常细致的角度分析了String和Stringbuffer的主要区别
string和StringBuffer的区别
String的效率低于StringBuffer,开发时最好选用StringBuffer。
String,StringBuffer,StringBuilder区别。几乎所有的应用开发都离不开操作字符串,理解字符串的设计和实现以及相关 工具如拼接类的使用,对写出高质量代码是非常有帮助的
针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍...
java面试笔试题String 和StringBuffer的区别
String和StringBuffer深入.doc
String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别
String ,StringBuffer与StringBuilder的区别
String StringBuffer和StringBuilder 区别之源码解析 从源码角度简单对它们之间的区别进行了验证
介绍了String、StringBuffer、StringBuilder的使用方法,以及理论知识
能更好的利用String和StringBuffer
Java中String和StringBuffer的区别
String及StringBuffer和StringBuilder的区别
JAVA中String与StringBuffer的区别 JAVA中String与StringBuffer的区别 自己的学习笔记总结
主要介绍了java中 String和StringBuffer的区别实例详解的相关资料,一个小的例子,来测试String和StringBuffer在时间和空间使用上的差别,需要的朋友可以参考下
对于新手来说,可以大大区别。 对于老手来说,可以清晰思维。 它包含很多细节问题和注意题,总结是高效的,也是一种精髓。
使用字符串字面量而不是使用new关键字来创建字符串。 大多数情况下字符串是在运行期决定的,使用一个合适的初期容量值初始化的StringBuffer会为字符串连接提供最佳的性能。
StringBuffer和String_区别 java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的...