`
mamaoyuan625
  • 浏览: 177155 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

一道有关StringBuffer的面试题

阅读更多
public class Test {
	public static StringBuffer doSomething(StringBuffer buff) {
		buff = new StringBuffer();
		buff.append("Hello World");
		System.out.println(buff);  //Hello World
		return buff;
	}

	public static void main(String[] args) {
		StringBuffer buff = new StringBuffer();
		buff.append("Hello");
		System.out.println(doSomething(buff));  //Hello World
		System.out.println(buff);    //Hello
	}
}

 

 

 

2:现在doSomething()方法中 除去:buff = new StringBuffer();

public class Test {
	public static StringBuffer doSomething(StringBuffer buff) {

		buff.append("Hello World");
		System.out.println(buff);  
		return buff;
	}

	public static void main(String[] args) {
		StringBuffer buff = new StringBuffer();
		buff.append("Hello");
		System.out.println(doSomething(buff)); 
		System.out.println(buff);   
	}
}

 

结果:

HelloHello World
HelloHello World
HelloHello World

 

技术要点:1中虽然传入了StringBuffer对象,虽然把main中buff引用赋给了doSomething()中的形参,但是在方法内部有重新指向另外一个对象(内存)。所以原来的就不起作用了!

       2中始终是一个buff对象

 

 

分享到:
评论

相关推荐

    java面试题-leetcode题解之第14题最长公共前缀.zip

    总之,LeetCode的第14题“最长公共前缀”是一个经典的面试题,它涵盖了字符串处理、算法设计和优化等多个方面的知识,对于提升Java面试的竞争力具有重要意义。通过深入理解和熟练掌握这道题的解法,可以帮助你在面试...

    java面试题+答案 最全版本,分类好的

    Java面试题+答案最全版本,分类好的,这个资源涵盖了从基础到高级的Java编程知识点,是准备Java面试的理想资料。下面将详细解读其中可能涉及的重要知识点。 首先,基础部分通常包括: 1. **Java语法**:理解基本...

    Java最常见的面试题208道.docx

    以上只是部分内容,完整的208道面试题涵盖了更多深入的Java知识,包括设计模式、Spring框架、Mybatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM优化等方面,每一道题目都值得深入探讨和学习。

    面试UC浏览器的一道处理字符串的题目(已提供答案)

    标题中的“面试UC浏览器的一道处理字符串的题目”暗示了这是一个与编程相关的面试问题,特别是涉及到字符串处理。在Java编程语言中,字符串处理是基础且重要的技能,常常出现在面试题中,用来评估候选人的编程能力和...

    Java面试题,自己查看学习的程度

    Java是一种广泛使用的面向对象的编程语言,其面试题涵盖了众多的知识点,对于学习和准备面试的Java开发者来说,这些都是必须掌握的基础和进阶内容。以下是对这些知识点的详细解释: 1. `super()`与`this()`的区别:...

    百度历年笔试面试150题.docx

    【Java面试经验】这篇文档包含了多个技术面试题,主要涉及C语言编程、算法、操作系统、数据结构和网络等领域的知识。下面将逐一解析这些题目所涵盖的Java面试知识点。 1. **C语言实现字符串倒序**:这道题虽然不是...

    Java经典笔试题

    8. 最后一道题涉及字符串操作。`String`对象是不可变的,所以`text.replace('j','L')`不会改变原始`text`对象,而是返回一个新的字符串。而`StringBuffer`或`StringBuilder`类的方法可以修改对象本身,不会返回新...

    新北邦java笔试题

    3式:`stringbuffer str3 = new stringbuffer();for(int i = 1; i ;i++)str3 = str3.append(i);` 执行速度的比较: 在Java中,字符串是不可变的,因此每次对字符串进行操作(如str2+=i)都会创建一个新的字符串对象...

    java-leetcode题解之第824题山羊拉丁文.zip

    3. 第824题:山羊拉丁文:这是一道关于字符串处理的题目。山羊拉丁文是一种变形的英语,遵循特定的规则。首先,单词根据字母表顺序分成五组(A, AEIOU, B-H, I-M, N-Z),然后每组内的单词按照原顺序保持不变。其次...

    java以单词的维度反转字符串(中间的空格不确定,并不可以缺少)

    本问题是一道典型的面试题,旨在考察测试工程师对字符串操作的理解以及逻辑思维能力。 问题的核心在于,给定一个包含多个单词和不定数量空格的字符串,要求保持单词内部字符的相对顺序不变,但整个字符串中的单词...

    剑指Offer(java版)全部运行通过

    在《剑指Offer》(Java版)中,有一道题目要求在一个特殊的二维数组中查找一个整数是否存在。这个特殊的二维数组具有以下特点: - 每一行都按从左到右递增的顺序排序; - 每一列都按从上到下递增的顺序排序。 #### ...

    拉钩网java笔试题分享

    此题目是基于Java编程的一道逻辑题,主要考察了循环、条件判断以及字符串操作等基础知识。我们可以从以下几个方面来详细分析这个题目: 1. **循环控制**: - 使用`for`循环从1遍历到指定人数(这里是100),模拟...

Global site tag (gtag.js) - Google Analytics