- &和&&的区别?
&:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true。&&:短路与,如果第一个表达式为false时,第二个表达式就不会计算了。
- 最有效率的方法算出2X8等于几?
使用位运算,效率最高:2<<3,表示2向右移动了3位
- Int和integer的区别?
Int是Java的8中基本数据类型之一,integer是int的封装类。Int类型的默认值为0,integer默认值为null,所以区别在于,integer能区分出null值和0的区别。
- String和StringBuffuer、StringBuilder的区别?
String:字符串数值不可变;
StringBuffer:字符串可修改,可以动态构造字符数据。
StringBuffer类是可以通过Append()来修改值。线程安全。
StringBuilder:线程不安全。
三者在执行速度方面的比较:StringBuilder > StringBuffer > String
对于三者使用的总结:
1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区下操作大量数据 = StringBuilde
r3.多线程操作字符串缓冲区下操作大量数据 = StringBuffer
- 【强制】不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁