前几天又看到这个面试题,再次看看

public  class  Jtest{
       public  static  void  main(String[] args) {
             StringBuffer a= new  StringBuffer ( "A" ); 
             StringBuffer b= new  StringBuffer ( "B" );
             oper(a,b);
             System.out.print(a+ "," +b);
         }
       static  void  oper(StringBuffer c,StringBuffer d){
           c.append( "B" );   
           d=c;
       }
}

------输出结果是什么?

此题关键就在于 oper(c,d) 方法,这个方法到底做了什么,怎么结果就和想的不一样呢?
那么,就来看一下这个方法做了什么。

上代码:

package test;
public class Jtest{public static void main(String[] args) {StringBuffer a=new StringBuffer ("A"); StringBuffer b=new StringBuffer ("B");//取代 oper(a,b) start;StringBuffer c;StringBuffer d;c = a; //c的地址指向了a,此时 c 的值为"A";d = b; //d的地址指向了b,此时 d 的值为"A";c.append("B"); //在c(a)的地址值变为 “AB”d=c; // d的地址指向了c,也就是指向了a,**关键就在这里了**,那么可以看到,这个过程中根本就没对b做任何操作,//就好像gg(d)路过一mm(b),说:这mm(b)不错,然后发现前面有个更有吸引力的mm(c)然后就见异思迁了,然后拿了一朵花("B")给mm(c(a))了,,所以mm(b)压根就不知道什么情况,没参与// so, b 还是b("B") , a已不是a("A"),二是a("AB")//取代 oper(a,b) end; System.out.print(a+","+b);}static void oper(StringBuffer c,StringBuffer d){c.append("B");   d=c;//一开始的想法是这样的,c = a; d= b; 那么 c.append("B");后 c=“AB”,d=c = "AB",实际上并不是数学中的简单等价传递}
}

一道面试题:StringBuffer a=new StringBuffer (A); StringBuffer b=new StringBuffer相关推荐

  1. 一道笔试题--求二进制数1的个数

    要进一家新公司难免要进行笔试,虽然笔试通过的人很多都有背题之嫌,但是统计意义上最起码可以看出一个程序员的认真程度,毕竟很多公司的考题也不是自己创的,也是在网上偷的,允许公司偷题就必须允许应聘者偷答案. ...

  2. 一道面试题(限流,幂等key)

    一道面试题[限流,幂等key] 题目介绍 关键代码 使用令牌桶进行限流 幂等性校验 新版校验幂等 简易的使用日志框架 简单的redis功能实现 bean转换工具 日期工具类 json工具类 返回值 题 ...

  3. 一道面试题:i am biter 逆置为:biter am i

    一道面试题:i am biter 逆置为:biter am i 1.解决思路 首先我们明确一点,这是每个单词的整体倒置: 明确了这一点,我们可以在遍历字串时,先设计一个StringBuffer来暂存遇 ...

  4. 从一道面试题谈谈一线大厂码农应该具备的基本能力

    作者:Yura Shevchenko 来源:skypixel.com 关于一线码农的面试,我想说 求职面试在绝大部分人来说都是必不可少的,自己作为求职者也参与了不少面试(无论成功或者失败),作为技术面 ...

  5. 有的线程它死了,于是它变成一道面试题

    来自:why不止技术 有些线程它活着,但它躺在池中碌碌无为: 有的线程它死了,于是它变成一道面试题. 这次的文章,要从一次阿里巴巴的面试说起. 我记得那天是周一,刚刚经历过周末过的放松,干劲十足的我正 ...

  6. 每日一道面试题(第7期)---Android补间动画与属性动画的区别

    零零碎碎的东西总是记不长久,仅仅学习别人的文章也只是他人咀嚼后留下的残渣.无意中发现了这个每日一道面试题,想了想如果只是简单地去思考,那么不仅会收效甚微,甚至难一点的题目自己可能都懒得去想,坚持不下来 ...

  7. 最近刷爆朋友圈的一道面试题

    前言: 最近在网上有一道面试题掀起了劲爆的浪潮,好多家公司都模仿提问了这么一道面试题,而且好多人也都在讨论这道面试题要是自己回答的话该怎么回答!这道题也是在个网站上刷爆了. 面试题 如果不用Sprin ...

  8. (转)从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节

    背景:学习java的基础知识,每次回顾,总会有不同的认识.该文系转载 最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的, ...

  9. 从一道面试题,到“我可能看了假源码[2]

    上一篇从一道面试题,到"我可能看了假源码"中,由浅入深介绍了关于一篇经典面试题的解法. 最后在皆大欢喜的结尾中,突生变化,悬念又起.这一篇,就是为了解开这个悬念. 如果你还没有看过 ...

  10. 从一道面试题谈起,大厂到底看重程序员的什么能力?

    唐磊,他谦逊的自我介绍,是"在阿里云打工的清华学渣". 上周的一篇<字符串比较,居然暗藏玄机>,我最早是在唐磊<这10行比较字符串相等的代码给我整懵了>里看 ...

最新文章

  1. nvm 下载node 下载不下来_一键下载网页所有图片,把美丽存下来
  2. APUE读书笔记-12线程控制-04同步属性
  3. 【OpenCV3】级联分类器目标检测——cv::CascadeClassifier简介
  4. 几何着色器与细分(镶嵌)着色器
  5. /dev/null Read-only file system 系统无法启动
  6. leetcode面试题 10.03. 搜索旋转数组(二分法)
  7. Java使用HTTPClient4.3开发的公众平台消息模板的推送功能
  8. App性能测试-GT
  9. 细说VAE的来龙去脉 (Variational Autoencoder)
  10. C-snowflake uuid 生成器
  11. java程序的开发流程
  12. iVMS-8700综合安防管理平台第三方开发
  13. 基于R语言的因子分析
  14. 如何找到近期要召开的国际上所有的学术会议
  15. 图像坐标球面投影_OpenLayers中的球面墨卡托投影
  16. Chrome浏览器如何导入证书(最新!)
  17. 3dmax全套黄金自学教程
  18. 2022款联想拯救者R7000P和联想小新Pro16 选哪个好
  19. 物联网平台的开发目标以及技术架构
  20. 学习日志:第一篇博客

热门文章

  1. 如何在线进行PDF文档压缩?
  2. 什么叫首充?关于流量卡首充的说明!
  3. 货运公司古巨基陈慧娴助阵总决赛
  4. python爬虫之爬取网页基础知识及环境配置概括
  5. css3实现简单的文字动画效果
  6. Deepspeed:让大规模深度学习更快更省资源的神器
  7. python图像处理 马赛克效果
  8. 【附源码】计算机毕业设计SSM期刊在线投稿系统
  9. 接口测试——postman文件夹介绍以及批量执行用例
  10. 热点新闻管理系统设计与实现