这里我偷点懒,根据百度来的大纲先分析
1.枚举类是什么?
enum 枚举 , 格式 就是 public enum Color{ red,blue,green,yellow; }
补充: 2019/02/12 :我自己用这个东西最多是 :
异常信息 编号<=> 异常信息(10001,“系统异常”)
状态 running/success/failed/peding
1. 在异常信息这一块可以选者将具体信息省略减少后端内存占用 --优化点
2. 在接口类中定义constant也是一种选择
3. 涉及到状态的操作,强烈建议使用二进制保存状态,使用位运算来判断状态
2.关于String 和 字符串缓冲区?
字符串 char的组合
字符串缓冲区 支持可变的字符串(缓冲区就是一个channel ,就像 nio 就是利用管道实现的)
字符串最喜欢面试哪些东西?
3.关于时间的操作 long–Date–Calendar
Date api 不推荐在使用了
calendar 推荐使用 ,考虑到java8 之后新增加了LocalDate LocalTime ,自己把握
想要获取对应的格式呢 SimpleDateFormat 转成任意你想要的格式 YYYY-mm-DD hh:mm:ss
4.java8的新特性
- lambad 表达式
- optional 泛型 ,解决空指针问题
- stream 流,函数式编程 还有那些函数式接口我们也要记住一些呢,runnable/callable/comperation/Supplier
- Date time API 加强日期与时间的处理
我自己看这个的时候觉得这么理解起来最简单:
将函数式接口理解成一个希望传入一个 函数 而不是一个简单参数的方法。
public static void main(String[] args) {
MrXu mrXu = null;
Optional<MrXu> optionalMrXu ;//= Optional.of(mrXu); 空值就报空指针
Optional<MrXu> optionalMrXu1 = Optional.ofNullable(mrXu);
mrXu = (age)-> {
if (age > 18) { System.out.println("李华"); }
else if (age < 18){System.out.println("tom");}
else {System.out.println("jack");}
return "xuyz";
};
System.out.println(mrXu.getRealName(18));
optionalMrXu = Optional.of(mrXu);
optionalMrXu1 = Optional.ofNullable(mrXu);
}
@FunctionalInterface
interface MrXu{
String getRealName(int age);
}