急!!!String和StringBuffer

问题描述

为什么说String是长度不可变的,而StringBuffer是长度可变的?

解决方案

解决方案二:
String对象是不可变的StringBuffer对象是可变的
解决方案三:
String在堆中内存分配是死的
解决方案四:
我之前举过一个例子:String是一个产品,而且这个产品是不可变的StringBuffer和StringBuilder是两个生产String的工厂流水线StringBuffer速度慢,但是(线程)安全性好StringBulder速度快,但是(线程)安全性差
解决方案五:
我的意思是它们各自的底层是怎么实现这种不可变和可变的
解决方案六:
看源码里面都是一个char[],只不过各自的public方法,String都是对这个char[]只读的,StringBuilder大部分都是在操作char[]和其他相关信息。
解决方案七:
当newString()的时候,地址和空间都是分配好的,如果String+String会另外分配一个地址和空间newStringBuffer()的时候,只有地址,不限制空间,在append的时候,在原地址扩展空间
解决方案八:
这是这个语言设计的两种类型,就像人是可以长高的,棍子长不高
解决方案九:
这个该地的,要怎么解释呀,就如别人问你你怎么是人一样呀!!!举着例子不要介意!!String是长度不可变的stringbuffer是长度可变的,可以使用,toString()将其转换为String。Stringbuffer的安全性比较好!!!!

时间: 2024-11-02 21:05:50

急!!!String和StringBuffer的相关文章

提高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

[Java] String、StringBuffer与StringBuilder区别和联系(源码)

版权声明:请尊重个人劳动成果,转载注明出处,谢谢! String public final class String extends Object  implements Serializable, Comparable, CharSequence  String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象是不可变的,所以可以共享.例如: S