`
liusheng112078
  • 浏览: 6147 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

面试中String、StringBuffer、StringBuilder

阅读更多
   前段时间,一位在面试过后同学问我,以下代码输出是什么?被他这样一问,我逆向思维告诉我答案是"Hello"。
public class A{
   public static void add(String str,String str1){
          str+=str1;
   }
   public static void main(String args[]){
         String str="Hello";
         String str1="World";
         add(str,str1);
         System.out.println(str)
    }
}

    实际运行答案的确如此,带着好奇心究其因。才发现这道题考我对String,直接使用"+",会新建新的String对象,这段代码add里str实际会引用新的对象,改变另一引用空间值,而对于main里str引用空间值并为改变。如果采用StringBuffer,则不然。

public class A {
	public static void add(StringBuffer str, StringBuffer str1) {
		str.append(str1);
	}

	public static void main(String args[]) {
		StringBuffer str = new StringBuffer("Hello");
		StringBuffer str1 = new StringBuffer("World");
		add(str, str1);
		System.out.println(str);
	}
}

欢迎多多交流  46773217(群)
3
1
分享到:
评论

相关推荐

    String&StringBuffer&StringBuilder三者之间的区别-经典解析.doc

    在Java编程语言中,String、StringBuffer和StringBuilder都是用来处理字符串的重要类,它们各自有特定的使用场景和特性。理解这三个类的区别对于任何Java开发者,无论是初学者还是经验丰富的程序员,都是非常重要的...

    BATJ面试题讲解-String、StringBuffer、StringBuilder的区别

    BATJ面试题讲解-String、StringBuffer、StringBuilder的区别

    Java面试题-每日一题:String、StringBuffer、StringBuilder的区别

    Java面试题-每日一题:String、StringBuffer、StringBuilder的区别

    面试题java StringBuffer和StringBuilder类常见操作和用法

    在Java编程语言中,StringBuffer和StringBuilder类是处理可变字符串序列的重要工具。它们提供了丰富的功能,如添加、插入、删除、替换字符,以及反转字符串序列等。由于这两个类的特性,它们在处理大量字符串操作时...

    第5讲 String、StringBuffer、StringBuilder有什么区别1

    在Java中,我们有三种主要的字符串类:String、StringBuffer和StringBuilder,它们各自具有不同的特性和适用场景。 首先,`String`类是Java中的一个基础且不可变的类,被声明为`final`,其内部属性也是`final`的。...

    java面试笔试题String 和StringBuffer的区别

    在Java编程语言中,`String`与`StringBuffer`是两个重要的字符串处理类,它们各自具有独特的特性和用途,尤其在面试或笔试中常被提及作为考察应聘者对Java基础知识掌握程度的重要知识点。 ### `String`类:不可变性...

    JAVA面试题 从源码角度分析StringBuffer和StringBuilder的区别

    JAVA面试题,从源码角度分析StringBuffer和StringBuilder的区别 在本文中,我们将从源码角度分析StringBuffer和StringBuilder的区别,这两个类都是Java中常用的字符串操作类,但是它们之间有什么区别呢?下面我们来...

    深入剖析java中String、StringBuffer、StringBuilder的区别

    Java中的String、StringBuffer和StringBuilder类都是用于处理字符串的,但它们之间存在显著的区别,主要体现在字符串的可变性、线程安全性和性能优化上。 首先,关于**可变性**,String类是不可变的。这意味着一旦...

    面试的经典程序(String,StringBuffer,list,Connections)

    熟练运用`String`、`StringBuffer`进行字符串操作,理解数组和集合容器的数据结构及其应用场景,以及如何在多线程环境中正确处理数据库`Connection`,都将有助于你在面试中脱颖而出。通过深入学习和实践,你可以...

    5讲String、StringBuffer、Stri...1

    Java中的字符串处理是编程中常见的任务,涉及到三个主要的类:String、StringBuffer和StringBuilder。它们之间的主要区别在于线程安全、性能和可变性。 首先,`String`类是不可变的,这意味着一旦创建了一个`String...

    java--面试题大全(附答案

    String和StringBuilder、...StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized修饰,因此它的效率也比StringBuffer要高。

    10个Java经典的String面试题

    答案:String、StringBuffer、StringBuilder 最大的不同是 String 不可变,后者可变。StringBuffer 是线程安全的,StringBuilder 线程不安全但是速度较快。StringBuffer 和 StringBuilder 都是可变的,但是 ...

    java面试问题总结

    2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。 3. StringBuilder :...

    java基础知识面试题

    本文涵盖了 Java 基础知识面试题中的 String、StringBuffer、StringBuilder 的区别、==和 equals 的区别、String 常量池等知识点。这些建议对于 Java 开发者来说非常重要,可以帮助他们更好地理解 Java 的基础知识和...

    10个有关String的面试问题Java开发Java经验技

    在Java编程语言中,String类是开发者经常打交道的一个核心类,尤其在面试中,String对象的特性和操作经常成为考察的重点。以下就是10个关于Java String的面试问题,这些问题涵盖了String的基础、性能优化以及一些...

    Java面试题大全2023版.docx

    String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上...

    10个Java经典的String面试题!.pdf

    6. **String、StringBuffer和StringBuilder的区别**:String是不可变的,而StringBuffer和StringBuilder是可变的。在多线程环境中,StringBuffer是线程安全的,适合多个线程同时访问;StringBuilder则没有线程安全...

    2023最新Android 面试篇(2303版).pdf

    本资源摘要信息涵盖Java基础知识点,主要涉及Java中的数据类型、equals和hashCode方法、基本数据类型和引用类型的区别、多态的理解、String、StringBuffer和StringBuilder的区别等。 1. Java中==和equals和hashCode...

    Java基础面试题 91道面试复习八股文

    88. String和StringBuffer、StringBuilder的区别是什么?String为什么是不可 变的 可变性 String类中使用字符数组保存字符串,private final char value[],所以string对象是不可变 的。StringBuilder与...

Global site tag (gtag.js) - Google Analytics