体现功底的几道java面试题

2021/11/14 14:12:51

本文主要是介绍体现功底的几道java面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

最近面试某公司,其技术主管精选了几道java题目用以面试,个人觉得很经典,也比起那些动不动就做几页试卷的,其面试效率更高更能体现应聘者的功底,因此附上自己的答案和理解分享出来。

第一道:

//该程序的运行结果是?
    public static void main(String... args){
        String str1 = "hello";
        String str2 = "he" + new String("llo");
        System.out.println(str1==str2);
    }

答案为:false。对于对象来说,“==”比较的是其内存地址,两个new出来的对象其内存地址不同,对比结果自然为false,如“Integer i = new Integer("1");”和“Integer i2 = new Integer("1");”其“==”对比返回的为false。对于面试官来说,只回答这点是不够的,这道题里str1指向了“hello”的内存地址,但jvm栈内存会对“he"+new String("llo")的计算开辟新的存储空间,因此str2的内存地址与str1并不同。



这篇关于体现功底的几道java面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程