Object类,Arrays类及常用方法

Object类

是所有类的基类(超类,组类)

所有类直接或间接的继承Object类

 Object类中的常用方法:

 1.toString方法

  • 返回对象的字符串表示形式。 一般来说, toString方法返回一个“textually代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。
  • toString类方法Object返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串”和对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:
​源码如下:
public String toString()
{
getClass().getName() + '@' + Integer.toHexString(hashCode());
​}

class aa
{
  int num;

  public aa(int num)
  {
        this.num = num;
  }

}
public class tostring {
    public static void main(String[] args) {
        aa st1=new aa(2);
        aa st2=new aa(3);
        System.out.println(st1.toString());
        System.out.println(st2.toString());
    }
}
/*
运行结果为:
objecttsst.aa@1b6d3586
objecttsst.aa@4554617c
*/

 在我们平常使用时,建议重写toString方法,可以输出自定义的输出方式。

package objecttsst;

class aa
{
  int num;

  public aa(int num)
  {
        this.num = num;
  }

    @Override
    public String toString() {//重写后的toString方法
        return "aa{" +
                "num=" + num +
                '}';
    }
}
public class tostringtest {
    public static void main(String[] args) {
        aa st1=new aa(2);
        aa st2=new aa(3);
        System.out.println(st1.toString());
        System.out.println(st2.toString());
    }
}
/*运行结果为:
  aa{num=2}
  aa{num=3}
*/

2.equals()方法

用来判断两个引用地址是否相同。

注:只有在Object类中的equals方法才会比较地址,其他类中的equals方法重写了以后,默认比较的都是内容。

源码展示:

    public boolean equals(Object obj) {
        return (this == obj);
    }

在此需注意:“==”用于基本类型比较时,比较得是值是否相等。

                      “==”用于引用类型比较时,比较得是引用变量的地址是否相等

class bb
{
    int num;

    public bb(int num)
    {
        this.num = num;
    }
}
public class equalstest {
    public static void main(String[] args) {
        bb st1=new bb(1);
        bb st2=new bb(1);
        System.out.println(st1.equals(st2));//当两个引用变量指向不同对象时
    }
}
运行结果:false
class bb
{
    int num;

    public bb(int num)
    {
        this.num = num;
    }
}
public class equalstest {
    public static void main(String[] args) {
        bb st1=new bb(1);
        bb st2=st1;
        System.out.println(st1.equals(st2));//当两个引用变量指向同一个对象时
    }
}
运行结果:true

 Arrays类

(在util包中)

包含许多关于数组操作的静态方法。

1.equals方法

在数组的输出时,建议运用Arrays.toString方法,不用数组名输出。

Arrays.equals(a,b);//比较得是两个数组的值是否一致

import java.util.Arrays;

public class DomeArrays {
    public static void main(String[] args) {
        int []a={1,2,3,4,5};
        int []b={9,3,2,5,6};
        int []c={1,2,3,4,5};
        System.out.println(Arrays.equals(a,c));;

运行结果为:true

2.sort方法

有多个方法重载;

Arrays.sort(int[] a);//将数组a从小到大排序,无返回值

Arrays.sort(int[] a, int fromIndex, int toIndex);//将数组a指定位置内排序,开始包括,结束不包括.

import java.util.Arrays;

public class DomeArrays {
    public static void main(String[] args) {
        int []a={1,2,3,4,5};
        int []b={9,3,2,5,6};
        int []c={1,2,3,4,5};
       /* System.out.println(Arrays.equals(a,c));
        Arrays.sort(b);//调用Arrays类中sort()方法排序
        System.out.println(Arrays.toString(b));//调用Arrays。toString方法输出*/
        Arrays.sort(b,0,5);
        System.out.println(Arrays.toString(b));
//运行结果为:[3, 9, 2, 5, 6]

 3.binarySearch方法

返回数组中指定字符的索引

利用的是折半查找

import java.util.Arrays;

public class DomeArrays {
    public static void main(String[] args) {
        int []a={1,2,3,4,5};
        int b=binarySearch(a,3);//在a数组里找3,返回索引

此方法也有多种方法重载,不再一一列举

4.Arrays.copyof数组扩容

返回的是一个新数组;

public class Test {
    public static void main(String[] args) {
        int []a={1,2,3,4};
        int []b= Arrays.copyOf(a,5);
        System.out.println(Arrays.toString(b));
    }
}
//运行结果为:[1, 2, 3, 4, 0]

也有多种方法重载,不再一一列举。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值