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。

发表评论

后才能评论

本站资源压缩后上传分享,资源不容易失效,但不排除部分网友进行在线解压导致资源失效,这种情况站长会重新压缩后上传分享。
链接失效,请评论或邮件或微信告知,本站第一时间解决。

部分资源压缩文件较大,会采取分卷压缩形式,比如:资源.zip 、 资源.z01 、 资源.z02 。此为压缩包分卷格式,下载时需把所有文件全部下载完后方可解压(否则解压会提出错误并缺少文件),解压时候只需要解压 资源.zip 即可释放全部文件。

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

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理。(售后不用担心,绝对让您百分百满意)