关于String与StringBuffer的问题~~~急!!

问题描述

最近小弟面试中遇到了这个不干肯定的问题?所以请诸大虾帮忙解决一下!Stringname=newStringBuffer("my");name+="is";name+="herd";与StringBuffername=newStringBuffer("my");name.append("is");name.append("herd").toString();分别创建了几个对象?分别是什么?两者哪个效率高些,说明原因?

解决方案

解决方案二:
前者实则1个,隐含2个...后者1个..比较一下前者快一点
解决方案三:
第一个创建了0个,因为编译不通过既然用StringBuffer了,就始终用append
解决方案四:
小公司装有技术,真不知道初期考这个做什么?!Stringname=newStringBuffer("my");StringBuffer根本就不是String的子类,String是final类,编译不通过。楼主只要知道,String类是用来保存字符串常量的,对字符串拼接操作时用StringBuffer/StringBuilder效率高,就行了,创建了几个对象现在不必深究。
解决方案五:
第一个创建了两个,第二个创建了一个,用String会比较快些,个人认为还是用StringBuffer的好,因为用String的话,创建的对象用完后java不能自动回收
解决方案六:
引用4楼shichao2008的回复:

第一个创建了两个,第二个创建了一个,用String会比较快些,个人认为还是用StringBuffer的好,因为用String的话,创建的对象用完后java不能自动回收

不对,再想想。

时间: 2024-11-03 12:26:26

关于String与StringBuffer的问题~~~急!!的相关文章

急!!!String和StringBuffer

问题描述 为什么说String是长度不可变的,而StringBuffer是长度可变的? 解决方案 解决方案二:String对象是不可变的StringBuffer对象是可变的解决方案三:String在堆中内存分配是死的解决方案四:我之前举过一个例子:String是一个产品,而且这个产品是不可变的StringBuffer和StringBuilder是两个生产String的工厂流水线StringBuffer速度慢,但是(线程)安全性好StringBulder速度快,但是(线程)安全性差解决方案五:我的

提高String和StringBuffer性能的技巧

技巧|性能 String和StringBuffer之概览 创建字符串的较佳途径 滞留字符串带来的优化 连接字符串时的优化技巧 借助StringBuffer的初始化过程的优化技巧 关键点 String和StringBuffer之概览 非可变对象一旦创建之后就不能再被改变,可变对象则可以在创建之后被改变.String对象是非可变对象,StringBuffer对象则是可变对象.为获得更佳的性能你需要根据实际情况小心谨慎地选择到底使用这两者中的某一个.下面的话题会作详细的阐述.(注意:这个章节假设读者已

JAVA中String与StringBuffer有什么区别

String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结. 在java中有3个类来负责字符的操作: 1.Character 是进行单个字符操作的. 2.String 对一串字符进行操作,不可变类. 3.StringBuffer 也是对一串字符进行操作,但是可变类. String: 是对象不是原始类型. 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改都是重新创建一个新的

java的String和StringBuffer类

这里总结一下同时适用于String和StringBuffer的方法,以便对它们相互间的沟通方式有一个印象.这些表格并未把每个单独的方法都包括进去,而是包含了与本次讨论有重要关系的方法.那些已被覆盖的方法用单独一行总结. 首先总结String类的各种方法: 方法 自变量,覆盖 用途 构建器 已被覆盖:默认,String,StringBuffer,char数组,byte数组 创建String对象 length() 无 String中的字符数量 charAt() int Index 位于String内

java字符串连接String、StringBuffer和StringBuilder

Java字符串连接再开发中随时用的,方法很多: 先看下下边的代码: package com.meiyabaike.classx; public class ClassxMathCalculate { public static void main(String[] args) { int i1 = 10; int i2 = 20; System.out.println("resultx1 :"+i1+i2); //Error: the operator - is undefined f

深入理解String、StringBuffer、StringBuilder(转)

文章系转载,非原创,原地址:  http://www.cnblogs.com/dolphin0520/p/3778589.html 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder

String、StringBuffer、StringBuilder区别

无论是做Java或是Android,都避免不了遇到这个问题,其实开发过程中一般情况下是不会纠结,这个问题是面试必选经典题,今天有时间,就总结一下. String.StringBuffer.StringBuilder区别 StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对String的改变都 会引发新的String对象的生成:StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象.既然可变和不可变都

java-Java中string和stringbuffer有什么区别???

问题描述 Java中string和stringbuffer有什么区别??? Java中string和stringbuffer有什么区别???求各位前辈指点 解决方案 String,StringBuilder,StringBuffer都实现了CharSequence接口. Java中的String是不可变的,即它本身没有提供改变自身的方法,它的看似改变的方法都是返回一个新的字符串,在多个字符串(含变量)做连接操作(即"+")时,它内部会使用StringBuilder.append操作,最

String、StringBuffer、StringBuilder的区别

String.StringBuffer.StringBuilder的区别 理论(这几个东西的区别是啥?)---先不说话我们先上代码,不管懂不懂,先照抄! package com.sandy; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.Iterator; /** * Created by alittlefish on 2017/8/17. */ pu