博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中==和equals
阅读量:4586 次
发布时间:2019-06-09

本文共 1593 字,大约阅读时间需要 5 分钟。

/** * @author zhaojiatao * @date 2018/7/19 */public class equalsLearn {    public static void main(String[] args) {        /**         * 当基本类型的比较时:只能用==,比较值;         * 当是引用类型比较时:如果未重写equals方法,那么equals用的是来自object类的equals方法,就是==,即比较内存地址         * 当是String类型时,如果是由String str="xxx";这样直接赋值的话,比较的是字符串的值;         *                 如果由String str=new String("xxx");方式new出来的对象的话,比较时是用的String类重写的equals方法;         * 注意,toString方法返回的new String()对象;         *         */        int x=1;        int y=1;        // 基本类型判断值是否相等        System.out.println(x==y);// true        //java会自动拆箱,由编译器完成,实际上判断的是x==1        System.out.println(x==new Integer(1));// true        //比较两个对象的内存地址        System.out.println(new Integer(1)==new Integer(1));// false        //使用Integer包装类重写的equals方法比较        System.out.println(new Integer(1).equals(new Integer(1)));//true        String str1="abc";        String str2="abc";        // 比较两个字符串的值        System.out.println(str1==str2);// true        // 比较两个字符串 使用String类重写的equeals方法        System.out.println(str1.equals(str2));// true        StringBuffer str3=new StringBuffer("efg");        StringBuffer str4=new StringBuffer("efg");        // 比较内存地址        System.out.println(str3==str4);//false        // 比较内存地址        System.out.println(str3.equals(str4));// false 由于StringBuffer类没有重写Object类的equals,故比较的是内存地址        // toString会生成new String()对象        System.out.println(str3.toString()==str4.toString());//false 比较内存地址        System.out.println(str3.toString().equals(str4.toString()));//true 使用String对象重写的equals比较    }}

 

转载于:https://www.cnblogs.com/zhaojiatao/p/9338861.html

你可能感兴趣的文章
不写代码也能爬虫Web Scraper
查看>>
转: C#+MAPX 添加线、文本、符号等图元
查看>>
管理机--Jumpserver由docker搭建
查看>>
bzoj2212 Tree Rotations 线段树合并+动态开点
查看>>
SAP CRM 通过调试观察CL_CRM_BOL_ENTITY中的数据
查看>>
2016NOI冬令营day5
查看>>
JavaScript正则表达式-字符
查看>>
php 不等待返回的实现方法(异步调用)
查看>>
Oracle成长点点滴滴(2)— 权限管理
查看>>
Android 离线语音用法(讯飞语音)
查看>>
offsetof(s,m)解析
查看>>
JAVA遇见HTML——JSP篇:JavaBeans
查看>>
mariadb(四)连接查询,视图,事物,索引,外键
查看>>
【翻译】Kinect Studio是? 三月 SDK Update的新机能
查看>>
[BZOJ2654]tree(二分+Kruskal)
查看>>
枚举类型和 struct类型
查看>>
解决“在证书存储区中找不到清单签名证书”
查看>>
SPOJ.1812.LCS2(后缀自动机)
查看>>
HDU.2899.Strange fuction(牛顿迭代)
查看>>
BZOJ.3238.[AHOI2013]差异(后缀自动机 树形DP/后缀数组 单调栈)
查看>>