A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马IT学员 中级黑马   /  2014-1-10 11:22  /  840 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args) {
               
                //创建一个ArrayList的代理类对象
                ArrayListProxy proxy=new ArrayListProxy();
               
                //通过代理类添加数据
                proxy.arraylist.add("MIUI 5");
                //通过代理类获取集合的长度
                proxy.arraylist.size();

        }

        //创建一个代理类
        static class ArrayListProxy
        {
                @SuppressWarnings("unchecked")
                List<String> arraylist=(List<String>) Proxy.newProxyInstance(
                                ArrayListProxy.class.getClassLoader(),
                                new Class[]{ List.class },
                                new InvocationHandler() {
                                        ArrayList<Object> target = new ArrayList<Object>();
                                        public Object invoke(Object proxy, Method method, Object[] args)throws Throwable {
                                                //获取开始的时间
                                                long starTtime=System.currentTimeMillis();
                                                //休眠一秒钟
                                                TimeUnit.SECONDS.sleep(1);
                                                Object obj = method.invoke(target, args);
                                                //获取结束的时间
                                                long endTime = System.currentTimeMillis();
                                                
                                                System.out.println("Method:"+method.getName()+";耗时:"+(endTime-starTtime)/1000+"秒");
                                                return obj;
                                        }
                                });
        }
}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马