一些东西

2019-03-27  本文已影响0人  鼻涕不停的小眼睛

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..的十倍以上:
原因:

  1. if ..else走逻辑判断时,每条if语句都独立需要加载,都要走一遍判断。这就是耗时的机制问题了。

  2. 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装配顺序

  1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常

  2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常

  3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常

  4. 如果既没有指定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.方法名的方式来调用。

image.png image.png

6.字符串和xml之间的相互转换

https://blog.csdn.net/cai7095576/article/details/39274381

上一篇 下一篇

猜你喜欢

热点阅读