专栏首页java技术大本营java练习本(2019-07-06)

java练习本(2019-07-06)

2019.07.05问题及解析

题目

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

本文分享自微信公众号 - java技术大本营(java-ideashare),作者:天堂

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java练习本(2019-07-08)

    String str = new String("xiaodao");这个语句一共会创建几个String object?

    微笑的小小刀
  • springboot|Controller接收处理GET,POST请求入参

    PostMan模拟请求结果如下: 模拟时注意修改Header中Content-Type的值

    微笑的小小刀
  • java练习本(2019-07-21)

    “ Love is the greatest refreshment in life. ”

    微笑的小小刀
  • 这样规范写代码,同事直呼“666”

    用户1516716
  • 关于SpringMVC中如何把查询数据全转成String类型

    上帝
  • 大数据算法设计模式(2) - 左外链接(leftOuterJoin) spark实现

    左外链接(leftOuterJoin) spark实现 package com.kangaroo.studio.algorithms.join; impor...

    用户1225216
  • java中两个map比较

    ydymz
  • 当我遵循了这 16 条规范写代码,同事只对我说了三个字: 666

    Many of the happiest people are those who own the least. But are we really so ha...

    良月柒
  • 这样规范写代码,同事直呼“666”

    java思维导图
  • 这样规范写代码,同事直呼“666”

    乔戈里

扫码关注云+社区

领取腾讯云代金券