equals方法
publicb boolean equals(object obj ){
return(this==obj);
} 指示其他对象是否与此对象相等
参数object obj可以传递任意参数 返回值类型是个布尔类型
如果比较的是基本类型那么比较的就是值,如果是引用类型那么比较的就是地址值
Bjju b1 = new Bjju("附近逢低",12); Bjju b2 = new Bjju("发生的",56); boolean b = b1.equals(b2); System.out.println(b);
时间和日期的类 Date类
可以对时间和日期进行计算
System.out.println(System.currenTimeMillis()); 获取当前系统到1970-1-1经历了多少毫秒(构造方法)
private static void deom() { Date date = new Date(0L); System.out.println(date); }
给一个毫秒值转换成为日期
Long getTime()方法,把日期转换成为毫秒值(成员方法)
Date date = new Date(); Long l = date.getTime(); System.out.println(l);
DateFormat类
是日期时间格式化的抽象类
DateFormat MessageFormat NumberFormat
时间格式化 信息格式化 数字格式化
成员方法:String format(Date date) 按照指定模式,把Date日期格式化为符合模式的字符串
Date parse(String soure) 把符合模式的字符串解析为Date日期
但是DateFormat是个抽象类,需要使用他的子类(SimpleDateFoemat)
构造方法:SimpleDateFoemat(String pattern)含义:用给定的模式和默认语言环境的日期格式符号构造
参数:String pattern 传递指定模式
模式:区分大小写
y 年
m 月
d 日
h 时
m 分
s 秒
写对应的模式会把模式替换成对应的时间
格式化方法步骤:
1,创建SimpleDateFoemat对象,
2,调用SimpleDateFoemat对象中的方法format,按照构造方法中指定的模式,吧Date日期格式化为符合模式的字符串
private static void deom() { SimpleDateFormat sim = new SimpleDateFormat("yyy年mm月dd日 HH时mm分ss秒"); Date date = new Date();//需要先创建一个时间 String d = sim.format(date); System.out.println(date); System.out.println(d); }
解析步骤:
1,创建SimpleDateFoemat对象,
2,调用SimpleDateFoemat对象中的方法parse,把符合构造方法中的模式的总覅穿解析为Date日期(变回去)
private static void deom() throws ParseException { SimpleDateFormat sim = new SimpleDateFormat("yyy年mm月dd日 HH时mm分ss秒"); Date date = sim.parse("2021年19月01日 11时19分07秒"); System.out.println(date); }
Calendar类
日历类 Calendar也是个抽象类,里边提供了很多操作日历的方法(YEAR,MONTH,DAY_OF_MONTH,HOUR)
因为无法直接创建对象使用,但是里边有一个静态方法叫getInstance(),该方法返回了calendar类的子类对象
static Calendar getInstance() 使用默认时区和语言环境获得一个日历
public static void main(String[] args) { Calendar c = Calendar.getInstance(); System.out.println(c); }
常用成员方法:
public int get (int field) 返回给定日历字段的值
public stativ final int YEAR=1; 年
private static void demo1() { Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); System.out.println(year); }
public stativ final int MONTH=2; 月
private static void demo1() { Calendar c = Calendar.getInstance(); int month = c.get(Calendar.MONTH); System.out.println(month); }
public stativ final int DATE=5; 月中的某一天
public stativ final int DAY_OF_MONTH=5; 月中的某一天
int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(day);
public stativ final int HOUR=10; 时
int hour = c.get(Calendar.HOUR); System.out.println(hour);
public stativ final int MINUTE=12; 分
同上
public stativ final int SECOND=13; 秒
同上
public void set(int field int value) 将给定的日历字段设置为给定值
private static void demo2() { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR,9999); c.set(Calendar.MONTH,9); c.set(Calendar.DATE,9); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int date = c.get(Calendar.DATE); System.out.println(year+"年"+month+"月"+date+"日"); }
c.set(8888,8,8);
public abseract void add(int field,int amount) 根据日立的规则,为给定的日历字段添加或减去指定的时间量
private static void demo3() { Calendar a = Calendar.getInstance(); a.add(Calendar.YEAR,2); int year = a.get(Calendar.YEAR); int month = a.get(Calendar.MONTH); int date = a.get(Calendar.DATE); System.out.println(year+month+date); }
public Dote getTime() 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
private static void demo4() { Calendar a = Calendar.getInstance(); Date date = a.getTime(); System.out.println(date); }
成员方法的参数
int field 日历类的字段 可以使用Calendar类的静态成员变量获取
StringBuilder类
带参数的构造方法
StringBuilder str = new StringBuilder("abc"); System.out.println(str);
常用方法:
public StringBuilder append() 添加任意类型数据的字符串形式,并返回当前对象自身
StringBuilder str = new StringBuilder(); str.append("abc");
链式编程,返回值是一个对象,就可以继续调用方法
str.append("abc").append(1).append(true).append(8.8); System.out.println(str);
public String toString() 将当前StringBuilder对象转换成String对象
String str = "Heoll"; System.out.println(str); StringBuilder str1 = new StringBuilder(str); str1.append("word"); System.out.println(str1);
换回去
String str2 = str1.toString(); System.out.println(str2);
包装类
基本数据类型使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类就叫包装类,我们使用类中的方法来操作这些基本数据
装箱:把基本类型的数据,包装到包装类中
构造方法:Intrger(int value) 构造一个新分配的 Intrger对象,他来表示指定的int值
Integer in = new Integer(1);
Intrger(String s) 构造一个新分配的Intrger对象,他来表示String参数所指示的int值
字符串必须是基本类型字符串例如”100“ 字母和汉字则不行
Integer in = new Integer("1");
静态方法:static Integer valueOf(int i) 返回值一个表示指定的 int值的Integer实例
Integer in1 = Integer.valueOf(1);
拆箱:在包装类中取出基本类型数据
成员方法:int intValue()以int类型返回该Intrger的值
int i = in1.intValue();
自动装箱:直接把int类型的整数赋值包装类
Integer in = 1; 相当于Integer in = new Integer(1);
自动拆箱:in是包装类无法直接参与运算,可以自动转换成基本类型在进行运算
in = in+2 in+2;就相当于in.inVale()+2
基本类型与字符串之间相互转换
基本类型->字符串
基本类型的值+" "