java学习第七天()

1.system类

方法:exit(0),jvm退出

2.Object类

toString方法:

Student s=new Student(21,"weixianchuang");
System.out.println(s);

输出s是一串字符,为什么呢?

点println看源代码,发现最后就是Object类的toString方法,输出的是该对象的一个字符串,所以在类中重写toString,让输出看着更舒服和合理。

equals方法:

Object类的equals方法:

Student s1=new Student(21,"weixianchuang");
//用object的equals方法比较两个对象是否相同
System.out.println(s.equals(s1));
/*
 public boolean equals(Object obj) {
    return (this == obj);
    this 表示s
    obj表示s1
    ==还是在比较两个地址是否相同;
}
 */

我想比较两个对象内容是否相同,看源码但是发现equals方法比较的还是两个对象的地址是否相同,

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    //如果地址相同,两个对象自然相同
    if (o == null || getClass() != o.getClass()) return false;
    //o为空或者两个对象是否是同一个类,满足其一则返回false
    //不是同一个类自然对象也不可能相同;
    Student student = (Student) o;
    //s1传递过来的时候已经向上转型了,变成了Object型,而只有学生类对象与s对象相比较,因为s
    //对象也是学生类,故向下转型回到学生类对象。
    if (age != student.age) return false;
    //判断年龄是否相等
    return name != null ? name.equals(student.name) : student.name == null;
    /*
    如果s的名字不为空则,判断两者名字是否相等,相等返回ture,不相等返回false
     */
}

重写后才可以比较对象内容是否相同。

3.Arrays类

Arrays类中的sort方法可以直接排序,以后不需要直接写排序,直接用这个方法就可以了,

Arrays类中的toString方法可以将数组的内容以字符串的形式返回。

4.字符串中数据排序

/*
将一个字符串中的数据排序
1.将字符串数据中数字取出,用String中split的方法,装在一个字符串数组中
2.将字符串数组的元素赋值给int类型的数组,用integer类中的parseInt方法
3.用arrays中的sort方法排序
4.将排完序的数组用StringBuilder中的append方法进行拼接,
5.用toString方法将拼接好的StringBuilder类型转化为String类型
 */
public static void main(String[] args) {
    String s="23 65 43 9 8 76";
    String[] arr = s.split(" ");
    int[] array=new int[arr.length];
    for(int i=0;i<arr.length;i++)
    {
        System.out.println(arr[i]);
    }
    for(int i=0;i<arr.length;i++)
    {
        array[i]=Integer.parseInt(arr[i]);
    }
    Arrays.sort(array);
    StringBuilder sb=new StringBuilder();
    for(int i=0;i<arr.length;i++)
    {
        if(i==arr.length-1)
        {
            sb.append(array[i]);
        }
        else
            sb.append(array[i]).append(" ");
    }
    String s1 = sb.toString();
    System.out.println(s1);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值