教材学习内容总结
1.在只有Lambda表达式的情况下,参数的类型必须写出来。
2.Lambda表达式本身是中性的,同样的Lambda表达式可用来表示不同目标类型的对象操作。
3.Lambda表达式只关心方法命名上的参数与返回定义,但忽略方法名称。
4.如果变量不会在匿名类中有重新指定的动作,就可以不用加上final关键词。
5.只要静态方法的方法命名中参数与返回值定义相同,也可以使用静态方法来定义函数接口操作。
6.JDK8定义的通用函数接口,基本上放置于java.util.function套件之中,就行为来说,基本上可以分为consumer,function,predicate,supplier四个类型。
7.Epoch为某个特定时代的开始,时间轴上某一瞬间。
8.取得系统时间的方法之一是使用System,currentTimeMillis()方法,返回的是long类型整数。
9.Date实例基本上建议只用来当做时间轴上的某一瞬间。
10.ofDays(),ofMonths(),ofWeeks()其实是Period的静态方法,他们会返回period实例。
11.新时间日期处理API的主要套件命名为java.time。
12.plus方法接受java.time.temporal.TemporalAmount实例,而TemporalAmount的操作类也就是Period与Duration。实际上plus()方法也可以接受Duration实例来计算。
13.使用Instant的静态方法now()可以取得代表java epoch毫秒数的Instant实例。
教材学习中的问题和解决过程
Java日期时间运算经常会在程序中被用到。无所不能的Java提供了强大的工具类:java.util.Date和java.util.Calendar.
package javadateoperation;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class JavaDateOperation {
public static void main(String[] args) {
//定义时间格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
//输出当前时间
System.out.println("now:"+format.format(date));
//获得Calendar实例
Calendar calendar = Calendar.getInstance();
//把要进行运算的时间放到calendar实例中
calendar.setTime(date);
//进行运算
//去年
calendar.add(Calendar.YEAR,-1);
System.out.println("last year:"+format.format(calendar.getTime()));
}
}
还有经常能用的到的:
System.out.println("the week of this month is" + calendar.get(Calendar.WEEK_OF_MONTH));//本月第几周
System.out.println("the week of this yeah is" + calendar.get(Calendar.WEEK_OF_YEAR));//本年第几周
本周代码托管截图
其他(感悟、思考)
本周的学习过程很累,JAVA的学习内容越来越多,而且难度越来越大,但还是只能向前走。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
第一周 | 100/100 | 2/2 | 10/10 | |
第二周 | 150/250 | 1/3 | 10/20 | |
第三周 | 100/350 | 1/4 | 10/30 | |
第四周 | 320/670 | 1/5 | 30/60 | |
第五周 | 700/1370 | 1/6 | 30/90 | |
第六周 | 700/2070 | 2/8 | 30/120 | |
第七周 | 700/2770 | 2/10 | 30/150 |