当前位置: 首页 > news >正文

山西大同网站建设wordpress 企业展示

山西大同网站建设,wordpress 企业展示,上海万户网络科技,江西工厂网站建设文章目录Java中和equals区别1. Integer中和equals的问题1.1 Integer类型且不是通过new创建的比较1.2 手动new Integer()创建的比较1.3 Integer和int比较2. String中和equals的问题3. DemoJava中和equals区别 equals是方法#xff0c;是运算符#xff1a; 如果比较的对象是基… 文章目录Java中和equals区别1. Integer中和equals的问题1.1 Integer类型且不是通过new创建的比较1.2 手动new Integer()创建的比较1.3 Integer和int比较2. String中和equals的问题3. DemoJava中和equals区别 equals是方法是运算符 如果比较的对象是基本数据类型则比较的是数值是否相等如果比较的是引用数据类型则比较的是对象的地址是否相等equals()用来比较两个对象的内容是否相等 注意equals方法不能用于基本数据类型的变量如果没有对equals方法进行重写则比较的是引用类型的变量所指向的对象的地址 1. Integer中和equals的问题 1.1 Integer类型且不是通过new创建的比较 Integer类型且值[-128,127]在这个范围并且不是通过new创建这时候会调用Integer.valueOf()自动装箱方法在这个方法中值[-128,127]在这个范围则会从缓存中去取对象而不是new一个对象否则重新new对象 public static Integer valueOf(int i) {if (i IntegerCache.low i IntegerCache.high)return IntegerCache.cache[i (-IntegerCache.low)];return new Integer(i);}/*** 值位于[-128,127]之间则会从缓存中去取而不是重新new一个对象*/ Integer x 100; Integer y 100; System.out.println(xy);//true/*** 都是Integer并且两者的值不是在[-128127]之间* 这时返回的是重新new出来两个对象因此这两个对象的地址不同故比较的值不同* 要想返回值相同需要使用equals方法*/ Integer a 128; Integer b 128; System.out.println(ab);//false System.out.println(a.equals(b));//true1.2 手动new Integer()创建的比较 手动new Integer()创建对象不走自动装箱机制没有调用Integer.valueOf()方法使用比较的地址是不同的 /*** 自己手动new Integer创建了了两个对象* 不走自动装箱机制没有调用Integer.valueOf()方法,这是两个不同的对象故比较的地址是不同的* 要比较两个值需要使用equals方法*/Integer m new Integer(120);Integer n new Integer(120);System.out.println(mn);//falseSystem.out.println(m.equals(n));//true1.3 Integer和int比较 Integer和int使用比较的是值而不是内存地址 Integer a1 new Integer(110); int a2 110; Integer a3 110; System.out.println(a1a2 is (a1a2));//a1a2 is true System.out.println(a2a3 is (a2a3));//a2a3 is true System.out.println(a1a3 is (a1a3));//a1a3 is false System.out.println(a1.equals(a2) is a1.equals(a2));//a1.equals(a2) is true System.out.println(a3.equals(a2) is a3.equals(a2));//a3.equals(a2) is true System.out.println(a1.equals(a3) is a1.equals(a3));//a1.equals(a3) is true注意 a1是new Integer()创建的对象没有调用Integer.valueOf()自动装箱方法而a3是会调用Integer.valueOf()自动装箱方法从缓存中取到的对象a1a3返回是false。a1.equals(a2)没有问题a2.equals(a1)会报错Cannot resolve method ‘equals(java.lang.Integer)’ 2. String中和equals的问题 String str1 abc; String str2 new String(abc); String str3 abc; String str4 new String(abc);/*** str2和str2不同引用地址*/ System.out.println(str1str2 is (str1str2)); //str1str2 is false/*** str1和str3都在公共池中引用相同*/ System.out.println(str1str3 is (str1str3));//str1str3 is true /*** str2和str4堆中不同引用地址*/ System.out.println(str2str4 is (str2str4));//str2str4 is false System.out.println(str1.equals(str2) is str1.equals(str2));//str1.equals(str2) is true System.out.println(str1.equals(str3) is str1.equals(str3));//str1.equals(str3) is true System.out.println(str2.equals(str4) is str2.equals(str4));//str2.equals(str4) is true3. Demo public class TestEquals {public static void main(String[] args) {//testInteger();testString();}private static void testString() {String str1 abc;String str2 new String(abc);String str3 abc;String str4 new String(abc);/*** str2和str2不同引用地址*/System.out.println(str1str2 is (str1str2)); //str1str2 is false/*** str1和str3都在公共池中引用相同*/System.out.println(str1str3 is (str1str3));//str1str3 is true/*** str2和str4堆中不同引用地址*/System.out.println(str2str4 is (str2str4));//str2str4 is falseSystem.out.println(str1.equals(str2) is str1.equals(str2));//str1.equals(str2) is trueSystem.out.println(str1.equals(str3) is str1.equals(str3));//str1.equals(str3) is trueSystem.out.println(str2.equals(str4) is str2.equals(str4));//str2.equals(str4) is true}private static void testInteger() {/*** 都是Integer且值都在[-128,127]之间,并且不是通过new创建* 值位于[-128,127]之间则会从缓存中去取而不是重新new一个对象*/Integer x 100;Integer y 100;System.out.println(xy);//true/*** 都是Integer并且两者的值不是在[-128127]之间,并且不是通过new创建* 这时返回的是重新new出来两个对象因此这两个对象的地址不同故比较的值不同* 要比较两个值需要使用equals方法*/Integer a 128;Integer b 128;System.out.println(ab);//falseSystem.out.println(a.equals(b));//true/*** 自己手动new Integer创建了了两个对象* 因为手动new所以不走自动装箱机制没有调用Integer.valueOf()方法,这是两个不同的对象故比较的地址是不同的* 要比较两个值需要使用equals方法*/Integer m new Integer(120);Integer n new Integer(120);System.out.println(mn);//falseSystem.out.println(m.equals(n));//trueInteger a1 new Integer(110);int a2 110;Integer a3 110;System.out.println(a1a2 is (a1a2));//a1a2 is trueSystem.out.println(a2a3 is (a2a3));//a2a3 is trueSystem.out.println(a1a3 is (a1a3));//a1a3 is falseSystem.out.println(a1.equals(a2) is a1.equals(a2));//a1.equals(a2) is trueSystem.out.println(a3.equals(a2) is a3.equals(a2));//a3.equals(a2) is trueSystem.out.println(a1.equals(a3) is a1.equals(a3));//a1.equals(a3) is true} }
http://www.dnsts.com.cn/news/215790.html

相关文章:

  • 网站页面打不开商城微网站建设方案
  • 重庆教育建设有限公司网站小米路由器3做网站
  • 免费linux网站空间wordpress文章网格
  • 网站目录结构说明温岭营销型网站建设
  • 做网站有免费的服务器吗上海沪琛品牌营销策划有限公司
  • 专业网站的特点wordpress自带主题
  • 上传网站信息问题网易企业邮箱后缀是多少
  • 中车网站建设的优缺点广东省工程建设信息网
  • NET网站开发工程师网站招聘免费静态网页源码
  • 福建省建设执业注册资格管理中心网站湖北省级建设主管部门网站
  • 网站建设及推广人员自动建设网站系统
  • 中山市小榄新意网站设计有限公司怎么让自己的网站稍微变前面点
  • wordpress怎么做双语站怎么样才能搜索到自己做的网站
  • 手机端网站的区别南阳网站公司
  • 大连企业网站排名js跳转到别的网站
  • 广州建设监理协会网站怎么做免费的网站商城
  • 一个域名可以做中英文两个网站吗一天挣5000元的偏门路子
  • 网站建设项目报告网站排名优化软件哪家好
  • 购物网站开发案例教程企业做网站需要注意什么
  • 如今做哪个网站致富全屋设计装修效果图
  • 福建省建设监理公司网站wordpress 标签链接
  • 网站有哪些功能广州建设网站的公司简介
  • 网站 自定义表单营销型网站设计文章
  • 做网站课程报告有情怀的网站设计
  • 和镜像网站做友链网站制作的主要技术
  • 网站建设与维护管理实训报告十大软件下载大全免费
  • 做销售网站那家好北京注册公司要求
  • 虚拟主机专用控制面板文章优化关键词排名
  • 网站建设评审意见姐妹直播视频tv
  • 山东菏泽建设银行网站中信建设有限责任公司集采