Java基础笔试100道考试题

资源精选

100.equals方法和==的区别

答案:

1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。

101.String、StringBuffer、StringBuilder有什么区别?

答案:

String类表示内容不可改变的字符串。而StringBuffer类表示内容可以被修改的字符串。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。另外,String实现了equals方法,new String(“abc”).equals(new String(“abc”)的结果为true, 而StringBuffer没有实现equals方法,所以,new StringBuffer(“abc”).equals(new StringBuffer(“abc”)的结果为false。 StringBuffer和StringBuilder类都表示内容可以被修改的字符串,StringBuilder是线程不安全的,运行效率高,如果一个字符串变量是在方法里面定义,这种情况只可能有一个线程访问它,不存在不安全的因素了,则用StringBuilder。如果要在类里面定义成员变量,并且这个类的实例对象会在多线程环境下使用,那么最好用StringBuffer。

发表回复

后才能评论

大部分资源均采取本地压缩后上传分享,资源不容易失效,但不排除部分网友进行在线解压导致资源失效,这种情况本站会重新压缩后上传分享,通常会在24小时内解决,请您耐心等待。

部分资源较大,故采取分卷压缩,比如:资源.zip、资源.z01、资源.z02。因此需要把资源全部下载完才能解压(否则解压会提出错误并缺少文件),解压时只需解压 资源.zip 即可。

解压软件推荐使用:Bandizip
Windows版官网:https://www.bandisoft.com/bandizip/
Mac版官网:https://www.bandisoft.com/bandizip.mac/
Bandizip压缩软件-6.26版,点击下载

资源均来源于网络及各网友分享,仅限购买正版前临时了解,版权归原作者所有,请下载后24小时内自行删除,如有需要,请购买正版。 如有侵权,请联系删除(邮箱:cloudman1949@foxmail.com)。