博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中==和equals
阅读量:4599 次
发布时间: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

你可能感兴趣的文章
独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
查看>>
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
查看>>
【OpenCV学习】滚动条
查看>>
ofo用科技引领行业进入4.0时代 用户粘性连续8个月远甩摩拜
查看>>
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>
晚婚晚育 近20年巴西35岁以上孕妇增加65%
查看>>
读书:为了那个美妙的咔哒声
查看>>
jsp改造之sitemesh注意事项
查看>>
iOS 9.0之后NSString encode方法替换
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>