前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java练习本(2019-07-06)

java练习本(2019-07-06)

作者头像
微笑的小小刀
发布2019-07-10 16:51:51
2490
发布2019-07-10 16:51:51
举报
文章被收录于专栏:java技术大本营java技术大本营

2019.07.05问题及解析

题目

代码语言:javascript
复制
String str1 = new String("hello");
String str2 = new String("hello");
String str3 = "hello";
String str4 = "he" + "llo";
String str5 = "he";
String str6 = "llo";

请问下列输出true的是?

A.str1 == str2

B.str2 == str3

C.str3 == str4

D.str4 == (str5 + str6)

答案与解析

1.相关知识

String类型会指向堆内存中的存储空间,因此当通过==对String类型进行比较时,比较的是相应变量的地址。只要指向的是同一地址则两个String类型==比较返回true,如果指向的是不同地址则返回false。

2.答案解析

A.str1、str2都new了一个新的String变量,因此指向不同地址,false

B.str2开辟新的内存空间,因此与str3不是指向同一地址,false

C.两个字符串通过+拼接,本质在编译时会自动变换为一个字符串,相当于str4 = "hello",str3已经有所定义,因此会与str3指向同一地址,true

D.两个单独的String变量通过+拼接,本质是new一个新的String变量,因此会开辟新的内存空间,因此与str4不是指向同一地址,false

答案选C

2019.07.06问题

题目分类

String——比较

题目

JVM内存不包含如下哪个部分?

A.Heap

B.Heap Frame

C.PC寄存器

D.Stacks

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 答案与解析
    • 1.相关知识
      • 2.答案解析
        • 题目分类
          • 题目
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档