zoukankan      html  css  js  c++  java
  • Object、String、数组的 toString() 方法和 equals() 方法及java.util.Arrays

     1 public class Test {
     2     public static void main(String[] args) {
     3         int[] a = {1, 2, 4, 6};
     4         int[] b = a;
     5         int[] c = {1, 2, 4, 6};
     6         
     7         //下面这个方法打印的是a数组的引用地址
     8         System.out.println(a.toString());
     9         //下面这个方法比较的是两个数组的引用是否相等
    10         System.out.println("a.equals(b):"+a.equals(b));
    11         //下面这个方法才是a数组真正的toString方法       
    12         System.out.println(Arrays.toString(a));
    13         //下面这个方法才是数组真正的equals方法
    14         System.out.println("Arrays.equals(a,c):"+Arrays.equals(a, c));
    15     }
    16 }
    1 [I@33d063fd
    2 a.equals(b):true
    3 [1, 2, 4, 6]
    4 Arrays.equals(a,c):true
    运行结果 

     总结:java 数组没有重写 toString 方法和 equals 方法,当我们直接调用一个 java 对象的这两个方法的时候,实际上调用的是 java.lang.Object类里的这两个方法。

       要实现数组类自己的这两个操作必须要通过 java.util.Arrays 类的 toString() 方法和 equals(a , b) 这两个静态方法。

    注意:java.lang.Object 这个类的 toString 方法打印出来的是对象的引用地址;equals()方法默认比较的是两个对象的引用。

       JDK中很多类重写了equals()方法,包括Java.lang.String类和java.util.Arrays类。

  • 相关阅读:
    计算机组成原理
    爬取斗图
    视频爬取
    经典段子爬取
    爬取哈哈笑话
    爬取昵图网
    爬取校花网
    python操作docker
    正则表达式
    UUID
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/6618756.html
Copyright © 2011-2022 走看看