首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求解:ArrayList 代码怎么写

2012-08-14 
求解:ArrayList 代码如何写问题:写一个ArrayList类的代理,实现和ArrayList中完全相同的功能,并可以计算每

求解:ArrayList 代码如何写
问题:写一个ArrayList类的代理,实现和ArrayList中完全相同的功能,并可以计算每个方法运行的时间

[解决办法]
http://www.ticmy.com/?p=200

看第六点
[解决办法]

Java code
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.util.ArrayList;import java.util.List;public class ListProxy {    public static void main(String[] args) throws Exception {        List<String> list = newList(String.class);        list.add("abc");        System.out.println(list);    }            @SuppressWarnings("unchecked")    public static <T> List<T> newList(Class<T> elementType) {        return (List<T>)Proxy.newProxyInstance(List.class.getClassLoader(), new Class[]{List.class}, new InvocationHandler() {            private List<T> realList = new ArrayList<T>();            public Object invoke(Object proxy, Method method, Object[] args)                    throws Throwable {                long start = System.nanoTime();                Object ret = method.invoke(realList, args);                long end = System.nanoTime();                System.out.println("调用" + method.getName() + "耗时:" + (end - start) + "纳秒");                return ret;            }        });    }} 

热点排行