String 和StringBuffer的区别的一点体会

String 和Stringbuffer有什么区别呢?

看下面的例子:

Java代码  

  1. public static void changeString(String input){  
  2.         input=input+"___";  
  3. //      System.out.println(input);  
  4.     }  
  5.     public static void changeStringBuffer(StringBuffer input){  
  6.         input.append("___");  
  7. //      System.out.println(input);  
  8.     }  
  9.       
  10.     @Test  
  11.     public void test_String(){  
  12.         String input="whuang";  
  13.         System.out.println(input);  
  14.         changeString(input);  
  15.         System.out.println(input);  
  16.     }  

 运行结果是:

whuang

whuang

 

Java代码  

  1. @Test  
  2.     public void test_StringBuffer(){  
  3.         StringBuffer stringb=new StringBuffer("whuang");  
  4.         System.out.println(stringb);  
  5.         changeStringBuffer(stringb);  
  6.         System.out.println(stringb);  
  7.     }  

 运行结果是:

whuang

whuang___

 

时间: 2024-12-06 16:51:10

String 和StringBuffer的区别的一点体会的相关文章

string stringbuffer-java中string和stringbuffer的区别

问题描述 java中string和stringbuffer的区别 package om.yuanguang; public class TestString { public static void main(String[] args) { StringBuffer s0 = new StringBuffer("A"); StringBuffer s1 = new StringBuffer("B"); comp(s0,s1); System.out.println

JAVA中String与StringBuffer有什么区别

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

Java之String、StringBuffer、StringBuilder的区别分析_java

相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类-- StringBuilder .那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类有那些区别呢?在不同的场合下我们应该用哪个呢?我讲讲自己对这几个类的一点看法,也希望大家提出意见,每个人都有错的地方,在

stringbuffer-介于String和StringBuffer的性能问题

问题描述 介于String和StringBuffer的性能问题 都说String是final,那么在第二次赋值的时候,实际上是新开辟了内存空间,新建了String对象赋值,在多次赋值的情况下,这样是很浪费性能 StringBuffer在开辟了一次内存之后,多次append都不会新建对象,所以不浪费什么的 我早上无意间看了下源码,StringBuffer在初始化的时候,默认16位长度的字节数组,OK,底层用的数组实现,那必然涉及到自动扩展,果然,字符数超出长度则自动复制内容,原长度 * 2 + 2

java中String与StringBuilder的区别_java

相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类-- StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类).那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类有那些区别呢?

stringbuilder-java中String 和StringBuffer有什么区别

问题描述 java中String 和StringBuffer有什么区别 java string stringbuf区别是啥呢 还有stringbuilder 怎么用 解决方案 在java中有3个类来负责字符的操作. 1.Character 是进行单个字符操作的 2.String 对一串字符进行操作.不可变类. 3.StringBuffer 也是对一串字符进行操作,但是可变类. String: 是对象不是原始类型. 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改

Java中String、StringBuffer、StringBuilder的区别详解_java

 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有"final"修饰符,所以可以知道string对象是不可变的. private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在

Java String、StringBuffer与StringBuilder的区别_java

String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全)  简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象

String、StringBuffer、StringBuilder区别

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