黑马入学测试题答案(整理)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法;

例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。

public enum Lamp {

RED("GREEN"),GREEN("YELLOW"),YELLOW("RED");

private String next;

private Lamp(String next){

this.next = next;

}

public Lamp nextLamp(){

return Lamp.valueOf(next);

}

}

2、写一个ArrayList类的代理,实现和ArrayList中完全相同的功能,并可以计算每个方法运行的时间。

public class test1 {

public static void main(String[] args) {

final ArrayList target = new ArrayList();

List proxy = (List)Proxy.newProxyInstance(

List.class.getClassLoader(),

ArrayList.class.getInterfaces(),

new InvocationHandler() {

@Override

public Object invoke(Object proxy, Method method, Object[] args)

throws Throwable {

long beginTime = System.currentTimeMillis();

Thread.sleep(10);

Object reVal = method.invoke(target, args);

long endTime = System.currentTimeMillis();

System.out.println(method.getName()+" runing time is "+(endTime-beginTime));

return reVal;

}

});

proxy.add("nihaoa");

proxy.add("nihaoa");

proxy.add("nihaoa");

proxy.remove("nihaoa");

System.out.println(proxy.toString());

}

}

3. ArrayList list = new ArrayList();

在这个泛型为Integer的ArrayList中存放一个String类型的对象。public class test2 {

public static void main(String[] args) throws Exception{ ArrayList list = new ArrayList();

Method method = list.getClass().getMethod("add", Object.class);

method.invoke(list, "i am a String");

System.out.println(list.toString());

}

}

4、一个ArrayList对象aList中存有若干个字符串元素,

现欲遍历该ArrayList对象,

删除其中所有值为"abc"的字符串元素,请用代码实现。

public class test4 {

public static void main(String[] args) {

ArrayList aList = new ArrayList();

aList.add("abc");

aList.add("nihaoa");

aList.add("nihaoa");

aList.add("abc");

aList.add("cdb");

aList.add("abc");

aList.add("cdb");

System.out.println(aList.toString());

Iterator it = aList.iterator();

while(it.hasNext()){

String str = it.next();

if(str.equals("abc")){

it.remove();

}

}

System.out.println(aList.toString());

}

}

5、编写一个类,增加一个实例方法用于打印一条字符串。

并使用反射手段创建该类的对象,并调用该对象中的方法。

public class test5 {

public static void main(String[] args)throws Exception { Class clazz = myClass.class;

Method method = clazz.getMethod("printStr", String.class);

method.invoke(clazz.newInstance(), "ni hao ma? this my print str");

}

}

class myClass{

public void printStr(String str){

System.out.println(str);

}

}

6 、存在一个JavaBean,它包含以下几种可能的属性: 1:boolean/Boolean 2:int/Integer

3:String

4:double/Double 属性名未知,现在要给这些属性设置默认值,以下是要求的默认值:

String类型的默认值为字符串 int/Integer类型的默认值为100 boolean/Boolean类型的默认值为true

double/Double的默认值为0.01D.

只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,请用代码实现

public class test7 {

public static void main(String[] args) throws Exception { Class clazz = Class.forName("cn.heima.test.testBean");

Object bean = clazz.newInstance();

BeanInfo beanInfo = Introspector.getBeanInfo(clazz);

相关文档
最新文档