Object类
1、equals方法
equals方法的作用
-
用于对象之间的比较,返回true和false的结果
-
举例:s1.equals(s2); s1和s2是两个对象
重写equals方法的场景
-
不希望比较对象的地址值,想要结合对象属性进行比较的时候。
重写equals方法的方式
-
1、IntelliJ idea中alt + insert 选择equals() and hashCode(),一路next,finish即可
-
2、eclipse中空白处右键选择source ——> Generate HashCode() and equals() ——> Generate
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
2、toString方法
重写toString方法的方式
-
1、IntelliJ idea中Alt + Insert 选择toString
-
2、eclipse中空白处右键选择Source ——> Generate toStringo ——> Generate
toString方法的作用:
-
以良好的格式,更方便的展示对象中的属性值
public class File {
double size;
String name;
public File(double size, String name) {
this.size = size;
this.name = name;
}
@Override
public String toString() {
return "File{" +
"size=" + size +
", name='" + name + '\'' +
'}';
}
}
public class FileTest {
public static void main(String[] args) {
File f1 = new File(9.16, "学习资料");
File f2 = new File(8.16, "范进中举");
System.out.println(f1.toString());
System.out.println(f2.toString());
}
}
File{size=9.16, name='学习资料'}
File{size=8.16, name='范进中举'}
Math类
1、Math类概述
-
Math 包含执行基本数字运算的方法
2、Math中方法的调用方式
-
Math类中无构造方法,内部的方法都是静态的。可以使用类名.方法名进行调用
方法名 | 说明 |
---|
public static int abs(int a) | 返回参数的绝对值 | public static double ceil(double a) | 返回大于或等于参数的最小double值,等于一个整数 | public static double floor(double a) | 返回小于或等于参数的最大double值,等于一个整 数 | public static int round(float a) | 按照四舍五入返回最接近参数的int | public static int max(int a,int b) | 返回两个int值中的较大值 | public static int min(int a,int b) | 返回两个int值中的较小值 | public static double pow (double a,double b) | 返回a的b次幂的值 | public static double random() | 返回值为一个随机数,在[0.0,1.0)区间 |
日期处理类
1、Calendar类
- Calendar类概述
- Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
- Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象。
- 该方法返回一个Calendar 对象。
- 其日历字段已使用当前日期和时间初始化:Calendar rightNow = Calendar.getInstance();
Calendar类常用方法
Calendar类常用方法:
方法名 | 说明 |
---|
public int get(int field) | 返回给定日历字段的值 | public final void set(int year,int month,intdate) | 设置当前日历的年月日 |
public class CalendarTest {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int date = calendar.get(Calendar.DATE);
int week_day = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int year_day = calendar.get(Calendar.DAY_OF_YEAR);
System.out.println("今天是" + year + "年" + month + "月" + date + "日");
System.out.println("今天是这周的第" + week_day + "天");
System.out.println("今天是今年的第" + year_day + "天");
System.out.println();
calendar.set(2077, 11, 10);
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH) + 1;
date = calendar.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");
}
}
今天是2021年8月24日
今天是这周的第2天
今天是今年的第236天
2077年12月10日
2、SimpleDateFormat类
- SimpleDateFormat类概述
- SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
SimpleDateFormat类构造方法:
方法名 | 说明 |
---|
public SimpleDateFormat() | 构造一个SimpleDateFormat,使用默认模式和日期格式 | public SimpleDateFormat(String pattern) | 构造一个SimpleDateFormat,使用给定的模式和默认的日期格式 |
SimpleDateFormat类的常用方法:
方法名 | 说明 |
---|
public final String format(Date date) | 将日期格式化成日期/时间字符串 | public Date parse(String source) | 从给定字符串的开始解析文本以生成日期 |
public class SimpleDateFormatTest {
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sdf.format(date));
System.out.println();
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sdf2.parse("2077年12月10日 8:17:21"));
}
}
|