zoukankan      html  css  js  c++  java
  • java == 比较的是什么?

    Object的hashCode()默认是返回内存地址的,但是hashCode()可以重写,所以hashCode()不能代表内存地址的不同。

    System.identityHashCode(Object)方法可以返回对象的内存地址,不管该对象的类是否重写了hashCode()方法

    对于对象,比较的是对象的内存地址

    对于基本类型数据,其实比较的是它的值。

    package zhengze;
    
    import javax.swing.tree.TreeNode;
    import java.lang.reflect.Field;
    import java.util.*;
    import java.util.function.Supplier;
    
    public class IntegerTest extends Object{
    
        public static void main(String[] args)
        {
            String s = new String("OK");
            String z = new String("OK");
            String a = "OK";
            String b = "OK";
            System.out.println(System.identityHashCode(s));
            System.out.println(System.identityHashCode(a));
            System.out.println(System.identityHashCode(b));
            System.out.println(System.identityHashCode(z));
            int a1 = 12;
            int b1 = 12;
            System.out.println(System.identityHashCode(a1));
            System.out.println(System.identityHashCode(b1));
            int a2 = 256;
            int a3 = 256;
            System.out.println(System.identityHashCode(a2));
            System.out.println(System.identityHashCode(a3));
            System.out.println(a2 == a3); //基本类型,地址不一样,输出true
            Integer a4 = 126;
            Integer a5 = 126;
            System.out.println(System.identityHashCode(a4));
            System.out.println(System.identityHashCode(a5));
            System.out.println(a4 == a5); //包装类,小于127,true
            a4 = 256;
            a5 = 256;
            System.out.println(System.identityHashCode(a4));
            System.out.println(System.identityHashCode(a5));
            System.out.println(a4 == a5); //大于127,false;
          //对于Integer对象来说,常量区存储了(-128~127),超过范围则存储到堆内存中
        }
    }
    诸位正值青春年少,一定恣情放纵,贪恋香艳梅施之情,喜欢风流雅韵之事,洒脱木拘。然而诸位可知,草上露一碰即落,竹上霜一触即溶,此种风情难于长久。
  • 相关阅读:
    c++笔试题3
    C++笔试题
    C++编程指南续(10-11)
    C++详解(8-9)
    C++编程指南(6-7)
    C++编程指南续(4-5)
    C++编程指南续
    C++的编程指南
    HPSocket介绍与使用
    WinForm中TreeView控件实现鼠标拖动节点(可实现同级节点位置互换,或拖到目标子节点)
  • 原文地址:https://www.cnblogs.com/shilipojianshen/p/13023236.html
Copyright © 2011-2022 走看看