• Java字符串相关面试题


    一、String类相关的面试题

    String类型的面试是长久不衰老生常谈的一些经典问题,那么今天我们就来分析分析,看看它究竟有多奇葩?如果你要明白本次课的内容,那么前面的关于String .类我讲过的知识你要看完学完,我曾经说过我的课程的顺序是不能打乱的,因为他们是连贯的知识点。你可能听不懂,因为老师讲解的课程都是偏向深入。

    1、String str= new String("abcd");实例化 了几个字符串对象?

    2、String str= "a"+"b";产生几个对象?

    3、String str = "a"+new String("b");产生几个对象?

    4、String str1=new String(" abc' );   String str2=new String("abc");-共创建了几个字符串对象?

    这种题目在网上争论很大,其实上我们使用查看字节码指令的方式来论证是最有权威的。

    5、new String("a")+new String("a");创建了几个对象?

    6、new String("a")+new String("b");创建了几个对象?

    7、判断输出结果

    当执行“String” s1=" abcd"; 的时候会在常量池中创建--个"abcd",

    当执行“String s2="ab"+"cd";//两个字面量连接” 的时候会先将两个字符串常量连接直接生成“abcd”。

    当多个字符串的引用相加的时候堆中开辟新的空间,通过我们的分析,发现了str4最终的地址是在堆中,而str1是在常量池中,所以二者的地址是不相等的。

    总结:

    1、字符串的相关面试题你要明白,不要在这种地方丢分

    2、字符串在内存中的各种变化你要清楚,我之前的课程里面讲解很清楚了。

    有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!


    欢迎关注微信公众号:码邦主

  • 相关阅读:
    有趣的网站
    Python-Day2
    C# EF增删改查
    LINQ教程
    命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)
    Log4Net组件的应用详解
    log4net应用
    Select count(*)和Count(1)的区别和执行方式
    Ms sql 2005 中的bit 数据类型
    关于CLR、CIL、CTS、CLS、CLI、BCL和FCL
  • 原文地址:https://www.cnblogs.com/hehe199316/p/14172024.html
Copyright © 2020-2023  润新知