JAVA常用类库StringBuffer、CharSequence、Math、Date、SimpleDateFormate、比较器

每天进步、努力一点,加油!


前言

掌握StringBuffer类、CharSeqence接口的使用
掌握日期操作类以及格式化操作的使用
掌握比较器的作用以及对象比较实现原理


一、StringBuffer类?

1.StringBuffer类的常用方法

方法类型描述
public StringBuffer()构造创建一个空的StringBuffer对象
public StringBuffer(String str)构造将接收到的String内容变为StringBuffer内容
public StringBuffer append(数据类型 变量)普通内容连接,等价于String中的“+”操作
public StringBuffer insert(int offset,数据类型 变量)普通在指定索引位置处插入数据
public StringBuffer delete(int start,int end)普通删除指定索引范围之内的数据
public StringBuffer reverse()普通内容反转

2.代码示例

package com.xxx.classs;

public class JavaDemo {
    public static void main(String[] args) {
        StringBuffer sub=new StringBuffer("www.");//创建一个实例化对象
        sub.append("科技");//字符连接
        System.out.println(sub);
        sub.delete(2,4);//删除2至4的内容不包括2和4
        System.out.println(sub);
        sub.insert(3,"他打野");//在字符序列3之后插入内容
        System.out.println(sub);
        sub.reverse();//逆置字符串
        System.out.println(sub);
    }
}

在这里插入图片描述


二、CharSequence接口

1.CharSequence接口简介

CharSequence接口是提供的一个描述字符串的标准接口,常见的子类有:String、StringBuffer、StringBuilder

2.CharSequence接口的方法

方法类型描述
public char charAt(int index)普通获取指定索引字符
public int length()普通获取字符串长度
public CharSequence subSequence(int start,int end)普通截取部分字符串

3.代码示例

package com.xxx.classs;

public class Charsequence {
    public static void main(String[] args) {
     CharSequence str=" 纠结撒加速度计";
     System.out.println(str.length());//获取长度
     System.out.println(str.charAt(3));//获取字符序列为3的元素
     System.out.println(str.subSequence(2,4));//截取2至4序列的字符,不包括4
    }
}

在这里插入图片描述


三、Math数学计算类

package com.xxx.classs;

public class MATH {
    public static void main(String[] args) {
        System.out.println("绝对值:"+Math.abs(-10.1));//求绝对值
        System.out.println("最大值:"+Math.max(10.2,104));//求最大值
        System.out.println("对数:"+Math.log(10));//求对数
        System.out.println("四舍五入:"+Math.round(15.1));// 四舍五入
        System.out.println("乘方:"+Math.pow(10,2));//乘方
    }
}

在这里插入图片描述


四、Date日期处理类

1.Date

Date常用方法

方法类型描述
public Date()构造实例化Date类对象
public Date(long date)构造将数字变为Date类对象,long为日期时间数据
public long getTime()普通将当前日期时间变为long型

2.SimpleDateFormat

SimpleDateFormat常用方法:

方法类型描述
public SimpleDateFormat(String pattern)构造传入日期时间标记为实例化对象
public final String format(Date date)普通将日期格式化为字符串数据
public Date parse(String source) throws ParseException普通将字符串格式化为日期数据

代码示例:

package com.xxx.classs;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DATE {
    public static void main(String[] args) {
        Date date=new Date();      //实例化对象
        System.out.println(date);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy--MM--dd HH:MM:ss.SSS");//实例化对象
        String str =sdf.format(date);  //日期格式化为字符串
        System.out.println(str);
    }
}

在这里插入图片描述

五、 Comparable比较器

(1) 定义

public interface Comparable<T>{
    /*
     * 实现对象的比较处理操作
     * @param o 要比较的对象
     * @return 如果当前数据比传入的对象小,返回负数;如果大,则返回整数;如果等于,则返回0
     * */
    public  int compareTO(T o);
}

(2)Comparable比较器中的CompareTo()方法

利用CompareTo()方法可以定义出对要使用的判断规则,该方法会返回3类结果。
(1) 1 :表示大于(返回值大于0即可,例如10,20都表示同一个结果)
(2) 2 : 表示小于(返回值小于0即可,例如-10、-20都表示同一个结果)
(3) 0: 两个对象内容相等

(3)代码示例:

package com.xxx.classs;

import java.util.Arrays;

public class Member implements Comparable<Member>{
    private String name;
    private int age;
    public Member(String name, int age){
        this.name=name;
        this.age=age;
    }
    @Override
    public int compareTo(Member mem) {
        if(this.age>mem.age){
            return 1;
        }
       else if(this.age<mem.age){
            return -1;
        }else {
           return 0;
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString(){
        return "姓名:"+this.name+"、年龄"+this.age+"\n";
    }
}
class Demo{
    public static void main(String[] args) {
        Member data[]=new Member[]{
                new Member("理性化",19),
                new Member("教大家",45),
                new Member("但是暖",23)
        };
        Arrays.sort(data);
        System.out.println(Arrays.toString(data));
    }
}

注:本程序主要通过age属性进行顺序排序,所以在覆写compareTo()方法时只进行了年龄的判断,这样就可以利用系统提供的Arrays.sort()方法实现对象数组排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值