java基础--相等

学习:http://www.cnblogs.com/dolphin0520/p/3780005.html#3163302

后发现居然有这么个东西,当然也不会注意什么自动拆箱和装箱,只知道用就行了。不过这里确实值得注意一下,Integer的自动valueOf实现是有范围的:

在通过valueOf方法创建Integer对象的时候,如果数值在[-128,127]之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。

别的就不会了。所以看一下几个测试:

 public static void main(String[] args) {
        Integer i1 = 100;
        Integer i2 = 100;
        Integer i3 = 200;
        Integer i4 = 200;
        System.out.println("=======Integer============");
        System.out.println(i1 == i2);
        System.out.println(i3 == i4);

        System.out.println("=======Double============");
        Double d1 = 12.0;
        Double d2 = 12.0;
        Double m =123456.12;
        Double n = 123456.12;
        double d3 = 12.0;
        System.out.println(m==n);
        System.out.println(d1==d2);
        System.out.println(d1==d3);
        System.out.println("=======String============");
        String a = "123";
        String b = "123";
        System.out.println(a==b);
        System.out.println(a.equals(b));
    }
=======Integer============
true
false
=======Double============
false
false
true
=======String============
true
true

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

【Java学习笔记之二十四】对Java多态性的一点理解

面向对象编程有三大特性:封装、继承、多态。       封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内...

3447
来自专栏Python攻城狮

面向对象编程-继承1.继承介绍以及单继承 2.继承示例3.多继承4.重写父类方法与调用父类方法5.类属性和实例属性6.静态方法和类方法

继承的概念:在现实生活中,继承一般指的是子女继承父辈的财产,在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;...

712
来自专栏微信公众号:Java团长

理解Java的三大特性之多态

封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方...

741
来自专栏伦少的博客

scala 下划线使用指南

原文地址:https://my.oschina.net/joymufeng/blog/863823   作者:joymufeng

3588
来自专栏IT可乐

JDK1.8源码(二)——java.lang.Integer 类

  上一篇博客我们介绍了 java.lang 包下的 Object 类,那么本篇博客接着介绍该包下的另一个类 Integer。在前面 浅谈 Integer 类 ...

3966
来自专栏Hongten

对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?

当你看见这个标题的时候,你可能会下意识的去想一下,这两种方式到底有什么样的区别呢?

1322
来自专栏C#

解析C#类中的构造函数

《解析C#类中的构造函数》 一.  C#中的构造函数概述: C#中类包含数据成员和函数成员。函数成员提供了操作类中数据的某些功能,包括方法、属性、构造器和终结器...

1945
来自专栏小鹏的专栏

用一个脚本学习 python

# -*- coding: utf-8 -*- # Python 2.7 学习参考脚本 # print 打印函数 print "Hello Worl...

2897
来自专栏测试开发架构之路

C++之迭代器

迭代器的概念 迭代器是用来访问string对象或vector对象的元素的,类似于下标运算和指针。 其对象是容器中的元素或string对象中的字符; 使用迭代器可...

3015
来自专栏与神兽党一起成长

将JSON对象格式化输出(breakdown篇)

上篇提到的prettyjson工具,经我改写之后,可以JavaScript对象格式输出缩进排版的JSON格式。如下所示:

1973

扫码关注云+社区