每天进步、努力一点,加油!
文章目录
前言
掌握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()方法实现对象数组排序