Java String口试题
System.out.println(s == s2);System.out.println(s1 == s2);
叨教 前面三条语句分别创建了几个对象,分别是什么.背面的输出分别是什么
**(1)**String s = new String(“abc”); 这句,创建了两个对象…其内容都是"abc".注意,s不是对象,只是引用.只有new生成的才是对象.
创建的流程是,首先括号里的"abc"先到String pool里看有没"abc"这个对象,没有则在pool里创建这个对象…所以这里就在pool创建了一个"abc"对象.然后 通过new语句又创建了一个"abc"对象…而这个对象是放在内存的堆里. .这里的s指向堆里的对象.
(2) String s1 = “abc”; 这条语句,s1当然还是引用.没啥可说的.背面的"abc".其实就是上面括号里的"abc".执行的是相同的操作.即 在pool里查找有没"abc"这个对象.没有则创建一个…很显然,第一条语句在pool里已经创建了一个"abc".所以这条语句没有创建对象,s1指向的是pool中的"abc"
**(3)**String s2 = new String(“abc”); 这条语句,其实和第一条是一样的,但是,由于第一条已经在pool中创建了"abc"这个对象,所以,这条语句创建了一个对象.s2指向的是堆里的"abc".注意,虽然内容都是"abc",s与s2表示的是差异的对象
**(4)**接下来就很好说了.下面的三个==判断.(注意,==永久是判断内存地址是否相等) s与s1,一个指向堆里的对象,一个指向pool里的.很显着是差异的对象.s与s2.上面说了,虽然都是指向堆里的对象,内容也是"abc",但是也不是相同的对象.s1与s2.一个指向pool,一个指向堆.也不是相同的对象.所以三个都返回false.
2 第二个题目
String s = new String(“abc”);
String s1 = “abc”;
String s2 = new String(“abc”);
System.out.println(s == s1.intern());
System.out.println(s == s2.intern());
System.out.println(s1 == s2.intern());
求最后输出是什么
解答.最后的答案是 false false true
intern()方法.按照jdk的帮助文档来说,是返回字符串对象的规范化表示形式。通俗一点说,就是返回对应这个字符串内容的那个pool里的对象.如许说也许还看不太明白,那可以拿具体例子来说
s1.intern().他的执行流程是,在pool里去查找s1对应的内容(也就是"abc").如果找到,则返回pool里的对象.如果没有(诚实说,我没想到有哪种情况是没有的),则在Pool创建这个对象,并返回…
如许就很容易理解了.s1.intern返回的是pool里的"abc"对象.与s这个堆里的对象肯定差异,返回false.同理,s与s2.intern()也肯定差异,返回false.第三个,s1与s2.intern().此中s2.intern()返回的是pool中的"abc"对象,而s1也是指向pool中的"abc"对象.所以返回的是true:
3第三个题目
String hello = “hello”;
String hel = “hel”;
自我先容一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里不绝到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索发展或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技能停滞不前!
因此网络整理了一份《2024年Java开发全套学习资料》,初志也很简单,就是盼望可以或许帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。https://i-blog.csdnimg.cn/blog_migrate/c024c1e8f8b254427afca699e0f4bd3e.jpeg
https://i-blog.csdnimg.cn/blog_migrate/3ef83d5f94ba02009f07691271c4564f.png
https://i-blog.csdnimg.cn/blog_migrate/904d72573ce4c9f17bea10ebc54119b1.png
既有适合小白学习的零底子资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,根本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部门目录截图出来,每个节点内里都包含大厂面经、学习条记、源码讲义、实战项目、讲解视频,而且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
https://i-blog.csdnimg.cn/blog_migrate/870950365a919f1eb79a9028af4b0646.jpeg 总结
本文从底子到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明显白白,这应该是我目前为止看到过最好的有关MySQL的学习条记了,我相信如果你把这份条记认真看完后,无论是工作中碰到的题目还是被口试官问到的题目都能迎刃而解!
MySQL50道高频口试题整理:
https://i-blog.csdnimg.cn/blog_migrate/63e2ffa3d4fd84c9ef83d36e619c362a.png
《互联网大厂口试真题剖析、进阶开发核心学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
、进阶开发核心学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!**
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]