java中String和Stringbuffer的区别

简介:

Java 中,虽然String 是对象,但是与自定义对象是有区别的,因为它是不可修改的。

说下String和StringBuffer的区别。

Java代码   收藏代码
  1. /*** 
  2.      * 修改StringBuffer 的内容 
  3.      * @param sb 
  4.      * @param drift 
  5.      */  
  6.     public static void modifyStringBuffer(StringBuffer sb,int drift){  
  7.         sb. setLength(0);//清空StringBuffer  
  8.         sb.append(drift);  
  9.     }  
  10.   
  11. @Test  
  12.     public void test_modifyStringBuffer(){  
  13.         StringBuffer sb=new StringBuffer();  
  14.         sb.append("whuang");  
  15.         System.out.println("old value:\t"+sb.toString());  
  16.         modifyStringBuffer(sb, 3);  
  17.         System.out.println("new value:\t"+sb.toString());  
  18.     }  

 运行结果:

old value:whuang

new value:3

 

Java代码   收藏代码
  1. /*** 
  2.      * 修改String的内容 
  3.      * @param string 
  4.      * @param drift 
  5.      */  
  6.     public static void modifyString(String string,int drift){  
  7.         string =String.valueOf(drift);  
  8.     }  
  9.   
  10.     @Test  
  11.     public void test_modifyString(){  
  12.         String string=new String("abc");  
  13.         System.out.println("old value:\t"+string.toString());  
  14.         modifyString(string, 3);  
  15.         System.out.println("new value:\t"+string.toString());  
  16.     }  

 运行结果如下:

old value:abc

new value:abc

 

总结:String的值是不能修改的,StringBuffer的值是可以修改的,即修改StringBuffer的值之后仍然是原来的对象。

相关文章
|
9天前
|
Java API 索引
Java基础—笔记—String篇
本文介绍了Java中的`String`类、包的管理和API文档的使用。包用于分类管理Java程序,同包下类无需导包,不同包需导入。使用API时,可按类名搜索、查看包、介绍、构造器和方法。方法命名能暗示其功能,注意参数和返回值。`String`创建有两种方式:双引号创建(常量池,共享)和构造器`new`(每次新建对象)。此外,列举了`String`的常用方法,如`length()`、`charAt()`、`equals()`、`substring()`等。
14 0
|
24天前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
10天前
|
移动开发 安全 Java
String、StringBuffer 、StringBuilder、StringJoiner
String、StringBuffer 、StringBuilder、StringJoiner
|
11天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
33 0
|
22天前
|
Java
java的 isEmpty 和 isBlank 区别?
java的 isEmpty 和 isBlank 区别?
8 0
|
28天前
|
Java 索引
【Java】String类常用方法总结
【Java】String类常用方法总结
20 0
|
29天前
|
SQL Java
使用java中的String类操作复杂的字符串
使用java中的String类操作复杂的字符串
9 0
|
1月前
|
Java
Java String split()方法详细教程
Java String split()方法详细教程
20 0
|
1月前
|
安全 Java
Java StringBuffer 和 StringBuilder 类
Java StringBuffer 和 StringBuilder 类
15 0
|
1月前
|
存储 缓存 安全
【Java】Java中String不可变性的底层实现
【Java】Java中String不可变性的底层实现
9 0