这道题目java面试比较多,求大神解答他的输出值。并讲个道理呗

程序首先会在这个String内存中寻找相同值的对象,也就是找到具有相同值的s1,然后s3引用了s1所引用的对象,也就是说s3与s1指向了同一个存储“Programming”字符串的地址。第三,看String的intern()方法描述就知道,该方法返回字符串对象的规范化表示形式,也就是返回字符串本身,所以true。
这道题目java面试比较多,求大神解答他的输出值。并讲个道理呗
输出值分别是:
false
true
true

这个“==”号,对于引用型变量来说,不只是要判断变量的值,更主要表示的是两个变量在堆中存储的地址是否相同。
第一,程序一开始在内存中创建了s1=“Programming”的对象,接着又来了个s2=new String("Programming"),注意,s2使用new操作符,所以系统会new一个对象出来,也就是再新建一个对象,所以s1和s2就不会在同一内存地址上。因此为false。记住了,凡是有new的对象,其创建出来的内存地址肯定不一样。
第二,“Program”+“ming”这两字符串相+,结果就是“Programming”,所以就相当于s3=“Programming”,而在创建s3对象时,程序首先会在这个String内存中寻找相同值的对象,也就是找到具有相同值的s1,然后s3引用了s1所引用的对象,也就是说s3与s1指向了同一个存储“Programming”字符串的地址。
第三,看String的intern()方法描述就知道,该方法返回字符串对象的规范化表示形式,也就是返回字符串本身,所以true。2016-11-29
mengvlog 阅读 33 次 更新于 2025-09-10 12:03:49 我来答关注问题0
  • 第二,“Program”+“ming”这两字符串相+,结果就是“Programming”,所以就相当于s3=“Programming”,而在创建s3对象时,程序首先会在这个String内存中寻找相同值的对象,也就是找到具有相同值的s1,然后s3引用了s1所引用的对象,也就是说s3与s1指向了同一个存储“Programming”字符串的地址。第三,...

  •  翡希信息咨询 压抑了五个月的我终于可以放声呐喊了!阿里是真的难进,Java四面面经+面试题

    技术面较为全面,包括Java基础、多线程、Web技术、数据库等还会聊一些个人及生活情况面试时间大约一个小时面试题示例:多线程:wait和sleep分别是谁的方法?它们之间的区别是什么?CountDownLatch的await方法是否安全?如何改造以确保安全?请描述一下线程池的参数及其整个流程。Web技术:Servlet是否线程安全?...

  •  宜美生活妙招 常问的15个顶级Java多线程面试题

    常问的15个顶级Java多线程面试题1. 如何保证T2在T1执行完后执行,T3在T2执行完后执行?答案:可以使用join方法来实现。解释:join方法的作用是等待线程终止。调用线程将被阻塞,直到目标线程执行完毕。因此,可以在T1线程对象上调用join()方法,使T2线程等待T1线程执行完毕后再执行;同理,在T2线程对象上...

  • 下面是10道java基础面试题,后附答案 1.什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台...

  • 1: D | javac 命令编译指定类和该类依赖的类。编译后的文件为二进制文件class2:C3:B4:C | IOException,runtimeException 编译时不要求强行处理,只在运行期发生。IOException编译时强行要求处理,继承自Exception5:B | Set无序队列,用get(index)游标无法获取6:C 7:A | 不使用关键字相当于...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部