Java理论与实践:用动态代理进行修饰
作者:网络转载 发布时间:[ 2012/8/13 10:37:46 ] 推荐标签:
1.private static class LoggingInvocationHandler
2. implements InvocationHandler {
3. final T underlying;
4.public LoggingHandler(T underlying) {
5. this.underlying = underlying;
6. }
7.public Object invoke(Object proxy, Method method,
8. Object[] args) throws Throwable {
9. StringBuffer sb = new StringBuffer();
10. sb.append(method.getName()); sb.append("(");
11. for (int i=0; args != null && i }
12. System.out.println(sb);
13. return ret;
14. }
15. }
如果用日志代理包装 HashSet,并执行下面这个简单的测试程序:
1.Set s = newLoggingProxy(Set.class, new HashSet());
2. s.add("three");
3. if (!s.contains("four"))
4. s.add("four");
5. System.out.println(s);
会得到以下输出:
1.add(three) -> true
2.
3.contains(four) -> false
4.
5.add(four) -> true
6.
7.toString() -> [four, three]
8.
9.[four, three]
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Java性能测试有哪些不为众人所知的原则?Java设计模式??装饰者模式谈谈Java中遍历Map的几种方法Java Web入门必知你需要理解的Java反射机制知识总结编写更好的Java单元测试的7个技巧编程常用的几种时间戳转换(java .net 数据库)适合Java开发者学习的Python入门教程Java webdriver如何获取浏览器新窗口中的元素?Java重写与重载(区别与用途)Java变量的分类与初始化JavaScript有这几种测试分类Java有哪四个核心技术?给 Java开发者的10个大数据工具和框架Java中几个常用设计模式汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

sales@spasvo.com