验证中...
7.21 杭州源创会火热报名中,一起来看看移动开发如何紧跟浪潮?
片段 1 片段 2
ShowTime.java
原始数据 复制代码
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ShowTime {
@SuppressWarnings("unchecked")
public static <T> T get(final T c) {
return (T) Proxy.newProxyInstance(
c.getClass().getClassLoader(),
c.getClass().getInterfaces(),
new InvocationHandler() {
final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
System.out.print(method.getName() + "() " + df.format(new Date()));
long startTime = System.nanoTime();
Object result = method.invoke(c, args);
System.out.println(" " + (System.nanoTime()-startTime) + " ns");
return result;
}
}
);
}
}
Test.java
原始数据 复制代码
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = ShowTime.get(new ArrayList<String>());
list.add("һԪ");
}
}

评论列表( 0 )

你可以在登录后,发表评论