Java代码笔试题重点汇总(6)

招聘笔试题2019-06-04王华老师

很明显返回值应该为false。

12、方法m1和m2有区别吗?

解答:这里考察的是同步方法的问题。synchronized修饰方法时锁定的是调用该方法的对象。它并不能使调用该方法的多个对象在执行顺序上互斥,静态修饰符很有必要。因此当不适用静态时,创建多个对象执行该方法,锁都不一样,还同步什么呢,因此用static修饰后才能实现想要的效果。

13、true or false?

publicclassTest {publicstaticvoidmain(String[] args){Integer i1 = 127;Integer i2 = 127;System.err.println(i1 == i2);i1 = 128;i2 = 128;System.err.println(i1 == i2);}}

解答:第一个为true,第二个为false。这个是对Integer包装类型中应用的享元模式的考察。

14、true or false?

publicclass Test {public static void main(String[] args) {String str1 = "a";String str2 = "a";String str3 = newString("a");System.err.println(str1 == str2);System.err.println(str1 == str3);str3 = str3.intern();System.err.println(str1 == str3);}}

解答:这个是对String Pool的考察。答案为true、false、true

15、true or false?

publicclassTest {publicstaticvoidmain(String[] args){System.err.println(12 - 11.9 == 0.1);}}

解答:结果为false。这个题我只说下我的想法,12-11.9进行运算后会转换成对象,不在是基本数据类型,因此在进行恒等判断时,就会是false。

相关推荐

猜你喜欢

大家正在看

换一换