📄 mytime.java
字号:
package com.tarena.abs.model;
import java.util.StringTokenizer;
import java.io.*;
/**
* 我们自己定义的一个时间类,只保留小时和分钟值,小时采用24小时进制。
* 该类实现Comparable接口,该类对象可比较大小。
* @author tony.tang
*
*/
public final class MyTime implements Comparable,Serializable{
private int hour;//小时
private int min;//分钟
public MyTime(int hour,int min){
if(hour<0||hour>23||min<0||min>59){
throw new IllegalTimeFormatException(hour+"时"+min+"分");
}
this.hour=hour;
this.min=min;
}
public MyTime() {
super();
}
public void setHour(int hour) {
this.hour = hour;
}
public void setMin(int min) {
this.min = min;
}
public int getHour() {
return hour;
}
public int getMin() {
return min;
}
/**
* 覆盖equals()方法。
*/
public boolean equals(Object obj){
if(obj instanceof MyTime){
MyTime time=(MyTime)obj;
if(this.getHour()==time.getHour() && this.getMin()==time.getMin()){
return true;
}
}
return false;
}
/**
* 覆盖toString()方法。
*/
public String toString(){
return (hour<10?("0"+hour):(hour+""))+":"+(min<10?("0"+min):(min+""));
}
/**
* 覆盖hashCode()方法。
*/
public int hashCode(){
return this.getHour()^this.getMin();
}
/**
* 实现的compareTo()方法,根据两个时间的先后来判断大小。不考虑日期值。
* @param obj
* @return
*/
public int compareTo(Object obj) {
MyTime time=(MyTime)obj;
if(this.hour>time.hour)
return 1;
else if(this.hour<time.hour)
return -1;
else
return this.min-time.min;
}
/**
* 静态方法,用来把一个字符串解析成一个日期值。
* @param str
* @return
*/
public static MyTime parseTime(String str){
StringTokenizer st=new StringTokenizer(str,":");
return new MyTime(Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -