个人学习总结的部分java小知识与面试题(三)

来源:互联网 发布:three.js 全景图切换 编辑:程序博客网 时间:2024/06/07 00:34

1."=="与equals方法区别

答:我个人理解"=="是用来比较基本数据类型和应用变量的地址是否相等

       equals方法常用来比较两个字符串的内容是否相同

       关于底层内存实现比较绕,还不是很懂,只知道有new就新开辟了一块内存,栈和堆的区别

      给段代码你们看看

    

public static void main(String[] args) {    String a=new String("a");    String b=new String("a");    //先定义c默认为null,内存创建"a","a"指向c,再定义d时默认为null,也为d赋值为"a"时,内存有"a"直接d
个人理解,我建议学学画图)    String c="a";    String d="a";    int e=1;    int f=1;    System.out.println(a==b);//flase    System.out.println(a.equals(b));//true    System.out.println(c==d);//true    System.out.println(a==c);//flase    System.out.println(a.equals(c));//true    System.out.println(e==f);//true}


原创粉丝点击