我在这里: 首页 ? 面试试题 ? 浏览文章: Java面试题解析
« 压力面试体验公务员面试题库(每日十题之第三天) »

Java面试题解析




内容摘要:本文通过写出代码结果的方式向你解析了java面试中常面倒的几个知识点:string,equals(),==.
关键词:JAVA面试题  
本文地址:http://www.teecool.com/post/2007071703.html
内容正文:

1.写出下面代码的结果

 public class TestString{
    public static void link(String a){
        a += "World";
    }

    public static void main(String[] args){
        String a = "Hello";
        link(a);
        System.out.println(a);
    }
 }
答: 这道题考两个方面:

1). String对象的内容是不能改变的,a+="World"并不是把a所指对象改变,

  而是先生成一个临时String对象,其值为a+"World",然后在把这个临时

  对象赋给a.

2). Java中函数参数传递方式为Call by value,link方法中会生产a的一个

  拷贝,同样指向a所指的对象,综合以上两点,得出结果为 Hello

 

2.写出下面代码的结果

System.out.println("ja"+"va" == "java");

答:"=="用来比较对象的引用,而equals()用来比较对象的内容,但是如果是字符串常量,用"=="也可以比较内容

是否相等,"ja"+"va"和"java"都是字符串常量,因此结果为true

同理,下面代码结果也是true

final String str = "java";

System.out.println(str=="java")

Java面试题解析一文有面试题库网收集自互联网,并非本站原创,如原作者发现Java面试题解析一文,请及时告知本站,本站会作出相关处理,谢谢!!!(联系方式:百度空间留言)

最近发表