Java常用类习题(附部分答案)

发布时间 : 星期三 文章Java常用类习题(附部分答案)更新完毕开始阅读

有一个方法f(Object o),那么可以传递给这个方法任意一个类的对象,包括%%%%。因为所有对象都可以说是Object类型。

参考答案:Object类是多有类的直接或间接的父类。 7、Object类中的equals方法和hashCode 方法。

解析:在Object类中,equals方法比较对象的引用值,也就是只有物理上是同一对象的两个引用,在使用equals方法返回true。hashCode方法返回一个对象的内在地址的十六进制值。由于Object类是所有类的父类,所以任意类中都拥有这两个方法,并都可以进行覆盖。尤其是操作Set,Map对象时集合元素类的equals方法和hashCode方法非常必要,因为Set和Map判断元素是否重%%%是依靠这两个方法进行。一般的原则是:如果存在X和Y两个对象,调用X.equals(Y)相同时,那么调用hashCode方法返回值也应该相同;如果X.equals(Y)返回false时,那么调用hashCode方法返回值可能相同,也可能不同。值得注意的是,只要你覆盖了equals方法,一定%%%则覆盖hashCode 方法。在实际工作中,很多IDE环境都支持覆盖equals和hashCode 方法。

参考答案:Oject类中的equals方法用来比较两个引用值,hashCode用来返回引用的内地址的十六进制数值。在Set以及Map集合中,判断两个元素是否重复时,往往需要使用这两个方法。这两个方法往往被子类覆盖,覆盖的规则是:如果存在x和y两个对象,调用x.equals(y)返回true时,那么调用hashCode方法的返回值也该相同;如果x.equals(y)返回false时,那么调用hashCode方法返回的值可能相同,也可能不同。 8、请画出Java集合框架的主要接口和类的继承关系。

解析:集合是非常重要的类型, 也是企业考察员工编程能力时常常关注的知识点。程序员应该熟悉Java集合框架的主要继承关系, 掌握常用集合类的用法和特点

13

9、Collection接口和Map接口分别定义了什么集合类型?有什么区别?

10、Date和Calender类有什么区别和联系?

解析:应用开发中经常需要对日期进行处理。Java语言中与日期有关的类包括Date和Calender,程序员应该熟悉这两个类。

参考答案:Date类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,Calender类中就定义了这样一系列方法。往往可以先创建一个Date实例,然后通过Calender中的setTime方法将该实例关联到Calender,接下来就可以使用Calender中的方法处理Date实例中的信息。 11、DateFormart类有什么作用?用简单代码展示其使用方法

解析:DateFormat类是和日期格式相关的类,当需要将日期按照一定格式显示时,应该考虑使用DateFormat类,程序员对这样常用的类都应该熟练使用。

参考答案:DateFormat是一个用来对日期和时间类型进行格式转换的类,该类是一个抽象类,定义了日期时间格式化的通用方法。例如:

DateFormat format1=Dateformat.getInstance(); System.out.println(format1.format(new Date()));

12.SimpleDateFormat类有什么作用? 用简单代码展示其使用方法。

解析:SimpleDateFormat类是DateFormat类的子类,能够灵活定义日期显示格式,对于程序员来说,想要能够灵活定义日期格式,必须熟悉API中定义的字符模式。 参考答案:SimpleDateFormat类是DateFormat类的子类,可以非常灵活地定义日期显示格式,例如:

SimpleDateFormat sdf1=new SimpleDateFormat(“yyyy年MM月dd日hh时mm分ss秒EE”,Locale.CHINA);

System.out.println(sdf1.format(new date()));

13、什么是自动装箱/拆箱?使用该特征有哪些注意事项?

解析:自动装箱/拆箱指的是八个包装器类与八个基本类型的转换问题。然而。这个特征却需要谨慎使用,因为虽然表面上看起来非常方便,而实质上依然需要创建对象、进行转换等操作,使用不恰当会降低性能。

参考答案:自动装箱指的是可以直接将基本数据类型转换为包装器类型,自动拆箱指的是可以直接将包装器类型转换为基本数据类型,如下代码所示:

14

int m=100; Integer im=m; int n=im;

上诉代码中,直接将m赋值给包装器对象im,这就是自动装箱,然后直接将im赋值给基本数据类型n,这就是自动拆箱。虽然表面上看代码简洁方便,然而本质上装箱时候依然使用new创建了对象,而拆箱时也依然调用了方法进行运算。因此,不要在没有必要的时候,频繁使用装箱拆箱,会降低性能。 14、int 和 Integer 有什么区别?

答:Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int 是 java 的原始数据类型,Integer是java 为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装

类,booleanBoolean,charCharacter,byteByte,shortShort,intInteger,longLong,floatFloat,doubleDouble

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关 四、编程题

1、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如\我ABC\,应该截为\我AB\,输入\我ABC汉DEF\,6,应该输出为\我ABC\而不是\我ABC+汉的半个\。

答:代码如下: packagetest;

classSplitString {

StringSplitStr; intSplitByte;

publicSplitString(Stringstr,intbytes) {

SplitStr=str; SplitByte=bytes;

System.out.println(\′\′;SplitBytes=\}

publicvoidSplitIt() {

intloopCount;

loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(S

15

plitStr.length()/Split

Byte+1);

System.out.println(\for(inti=1;i<=loopCount;i++) {

if(i==loopCount){

System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length())); }else{

System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte))); } } }

publicstaticvoidmain(String[]args) {

SplitStringss=newSplitString(\中dd文dsaf中男大3443n中国43中国人 0ewldfls=103\ss.SplitIt(); } }

2、使用 String 类的 public String toUpperCase() 方法可以将一个字符串中的小写字母变成大写字母;使用 public String toLowerCase() 方法可以将一个字符串中的大写字母变成小写字母。编写一个程序,使用这个两个方法实现大小写的转换。 import java.applet.*; import java.awt.*;

public class Boy extends Applet {

public void paint(Graphics g) {

String s1,s2,t1=\s1=t1.toUpperCase(); s2=t1.toLowerCase(); g.drawString(s1,30,60); g.drawString(s2,30,90); } }

3、使用 String 类的 public String concat(String str) 方法可以把调用该方法的字符串与参数指定的字符串连接,把 str 指定的串连接到当前串的尾部获得一个新的串。编写一个程序通过连接两个串得到一个新串,并输出这个新串。 import java.applet.*; import java.awt.*;

public class Boy extends Applet {

public void paint(Graphics g)

16

联系合同范文客服:xxxxx#qq.com(#替换为@)