首页 > 编程语言 >一道容易犯错的Java String面试题

一道容易犯错的Java String面试题

时间:2022-11-16 19:56:49浏览次数:39  
标签:面试题 Java String 指向 sb append

分析下面这段代码,说明总共创建了多少个对象?程序的输出结果是什么?

public class Demo {
    public static void main(String[] args) {
        String a = "hello";
        String b = "abc";
        String c = a + b;
        String d = "hello" + "abc";
        System.out.println(c == d);
    }
}

这里面第三句话,底层调用的顺序是:

StringBuilder sb = new StringBuilder();
sb.append(a);
sb.append(b);

sb是在堆中,并且append是在原来字符串的基础上追加的,最后相当于c指向的堆中的对象。

重要规则:

第四句话,两个常量相加,变量直接指向池中的对象;而变量相加,实际上变量指向的是堆中的对象。

因此本段程序输出的结果是false。

标签:面试题,Java,String,指向,sb,append
From: https://www.cnblogs.com/pluto-/p/16897312.html

相关文章

  • iOS-Swift将Localizable.strings中没有被引用的无用字符串文案全局扫码删除处理abando
    分享一个iOS扫描Localizable.strings的工具https://github.com/ijoshsmith/abandoned-strings最近项目需求需要把iOS和安卓两端文案统一一下然后添加适配更多的语言库,首......
  • Java中ThreadLocal详解
    一、ThreadLocal简介        ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的......
  • Java 内存模型(JMM)
    1.为什么要有内存模型?要想回答这个问题,我们需要先弄懂传统计算机硬件内存架构。好了,我要开始画图了。1.1.硬件内存架构(1)CPU去过机房的同学都知道,一般在大型服务器上......
  • 【Java】Synchronized与ReentrantLock区别总结
    这篇文章是关于这两个同步锁的简单总结比较,关于底层源码实现原理没有过多涉及,后面会有关于这两个同步锁的底层原理篇幅去介绍。相似点:这两种同步方式有很多相似之处,它们......
  • Java @Data注解
    1、@Data注解是lombok.jar包下的注解,该注解通常用在实体bean上,不需要写出set和get方法,但是具备实体bean所具备的方法,简化编程提高变成速度。 2、@Data相当于@Getter@Sett......
  • java的long的小l和大L区别
    首先几乎在所有位置,long的小写和大写都可以互相替换。其次L本质是对象,不是基础类型,具有Object的特性。包装类把基本类型转换为对象,每个基本类型在java.lang包中都有一个相......
  • javaweb 4、Servlet
    ServletServlet简介Servlet就是sun公司开发动态web的一门技术sun公司在这些API中提供了一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:编写一......
  • javaweb 5、HttpServletResponse
    HttpServletResponseweb服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse如果要获取客户端......
  • javaweb 6、HttpServletRequest
    HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,HTTP请求中所有信息会被封装到HttpServletRequet,通过这个HttpServletRequest的方法,获得客户端的所有信息......
  • 用JavaScript 实现断点续传 (HTTP)
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持......