目录
加载文件
类.class.getClassLoader().getResources(前不加/的文件路径)
要注意加getClassLoader之后,文件是在根目录开始查找的,后面的getResources就不用加 ‘/’。如果去掉getClassLoader,则文件是在项目目录下查找的,后面的getResources跟的是相对路径。
返回系统属性
String s = System.getProperty(String Key, String def)
返回系统属性中关键字为Key的属性值,第二个参数def为找不到Key时的默认值。
将字符串转化为布尔值
Boolean b = Boolean.parseBoolean("True")
或者
String s = "True";
System.setProperty(s,"true"); // 把s设置为了系统属性
Boolean b = Boolean.getBoolean(s);
可以看出,parseBoolean和getBoolean的区别在于parseBoolean就是把字符串的“True” or “False” 变成布尔类型,而getBoolean是判断系统属性中s的值,如果找不到返回值也为False。
双冒号::的用法
list.forEach(item -> System.out.println(item));
// 等效于
list.forEach(System.out::println);
::表示引用,和->用法差不多,只不过将传参进行了省略。注意 “::”前面是类名,后面是方法。
.stream()的用法
list.stream()
将list变成串形流,可以与.map搭配使用。
待排序的list中有null怎么办?
Comparator.nullsLast(Comparator.naturalOrder())
nullsLast表示将null放在最后,相反的,nullsFirst表示将null放在最前。
flatmap和map的区别
flatmap用法和map一样,只不过返回值不一样。map为每个子对象返回一个数据类型对象,输出为多个数据类型对象,而flatmap会把返回的所有子对象合并,输出一个数据类型对象。
equals和==的区别
equals用于引用类型的比较,只比较对象的内容,不比较对象本身。
==用于基础类型的比较。