1.List方法添加
List<String> list = new ArrayList<String>(){{
add("1");
add("2");
}};
list.stream().forEach(s -> System.out.println(s));//1 2
2.if..else..和switch效率对比
switch效率是if..else..的十倍以上:
原因:
if ..else走逻辑判断时,每条if语句都独立需要加载,都要走一遍判断。这就是耗时的机制问题了。
switch..case 根据一个值进行多路分支,只做一次计算,然后将表达式的值与每个case的值比较,进而选择哪一个case语句块。
总结:
1.switch只能处理case为常量的情况,对不是常量的情况是无能为力的。
例如 if (a > 1 && a < 100)属于关系逻 辑,是无法使用switch…case来处理的。
2.switch只能是在常量选择分支时比if..else效率高,但是if..else能应用于更多的场合,if..else比较灵活。
3.maven下载问题
https://blog.csdn.net/jwcxs_m/article/details/80076909
4.@Resource和@Autowired@Resource装配顺序
如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
@Autowired装配顺序
先按类型去查,如果有多个实现类,再根据名字去查(默认是变量名,如果变量名不符合Bean名字则用@Qualifier来查找)
@Component可以代替@Repository、@Service、@Controller,因为这三个注解是被@Component标注的
5.import static
import static(静态导入)是JDK1.5中的新特性,静态导入是这样:import static com.....ClassName.;这里多了个static,还有就是类名ClassName后面多了个 . ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名的方式来调用。