Proxy基础---------获取collection接口的构造跟方法
1----查看proxy api

2------测试代码
package cn.proxy01;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.Collection;
public class Proxy {
public static void main(String[] args) {
Class clazzProxy = java.lang.reflect.Proxy.getProxyClass(Proxy.class.getClassLoader(), Collection.class);
System.err.println("代理名称:"+clazzProxy.getName());
System.err.println("--------通过代理获取collection的构造 ---------------");
//$Proxy0()
//$Proxy(参数名,参数类型)
Constructor[] constructors = clazzProxy.getConstructors();
for(Constructor constructor : constructors){
String constructionName = constructor.getName();
StringBuilder builder = new StringBuilder(constructionName);
builder.append("(");
Class[] parameters = constructor.getParameterTypes();
for(Class params : parameters){
String param = params.getName();
builder.append(param+",");
}
if(parameters.length != 0 || parameters != null){
builder.deleteCharAt(builder.length()-1);
}
builder.append(")");
System.err.println(builder.toString());
}
System.err.println("--------通过代理获取collection的方法 ---------------");
//remove(java.lang.Object)
Method[] methods = clazzProxy.getMethods();
for(Method method : methods){
String methodName = method.getName();
StringBuilder builder = new StringBuilder(methodName);
builder.append("(");
Class[] parameters = method.getParameterTypes();
for(Class params : parameters){
String param = params.getName();
builder.append(param+",");
}
if(parameters.length != 0 || parameters != null){
builder.deleteCharAt(builder.length()-1);
}
builder.append(")");
System.err.println(builder.toString());
}
}
}
3----运行结果

Proxy基础---------获取collection接口的构造跟方法的更多相关文章
- Java容器---Collection接口中的共有方法
1.Collection 接口 (1)Collection的超级接口是Iterable (2)Collection常用的子对象有:Map.List.Set.Queue. 右图中实现黑框的ArrayLi ...
- List接口相对于Collection接口的特有遍历方法
package com.hxl; import java.util.ArrayList; import java.util.List; public class Test { public stati ...
- Java基础(二十)集合(2)Collection接口
1.Collection接口通常不被直接使用.但是Collection接口定义了一些通用的方法,通过这些方法可以实现对集合的基本操作,因为List接口和Set接口都实现了Collection接口,所以 ...
- 16、Collection接口及其子接口Set和List(常用类LinkedList,ArrayList,Vector和Stack)
16.Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同 ...
- JAVA中Collection接口和Map接口的主要实现类
Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素 ...
- JAVA笔记17-容器之一 图、Collection接口、Iterator接口(重要)
掌握1136: (1)1个图 (2)1个类:Collections (3)3个知识点:For(了解),Generic泛型,Auto-boxing/unboxing(自动打包/解包) (4)6个接口:C ...
- Collection接口中的方法的使用
add(Object e):将元素e添加到集合coll中size():获取添加的元素的个数addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中clear():清 ...
- Collection接口
Collection接口所定义的方法: clear:清空 retainAll 求一个Collection和另一个 Collection的交集. object[] toArray() 把里面的各个对象 ...
- Java中的集合(二)单列集合顶层接口------Collection接口
Java中的集合(二)单列集合顶层接口------Collection接口 Collection是一个高度封装的集合接口,继承自Iterable接口,它提供了所有集合要实现的默认方法.由于Iterab ...
随机推荐
- NGINX 安装于配置
just a simple example, for more information -> http://nginx.org/en/docs/.1.vi /etc/yum.repos.d/ng ...
- Python程序的编写方式
直接在Python的交互式环境编写代码 现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你 ...
- P1141 01迷宫 dfs连通块
题目描述 有一个仅由数字000与111组成的n×nn \times nn×n格迷宫.若你位于一格0上,那么你可以移动到相邻444格中的某一格111上,同样若你位于一格1上,那么你可以移动到相邻444格 ...
- Django复习之ORM
QuerySet数据类型: 1.可切片,可迭代 [obj,....] 2.惰性查询: ...
- Excel函数详解:[127]ROWS函数用法
函数说明 1 函数语法: ROWS(array) 2 参数说明: array:表示要返回行数的数组.数组公式或单元格引用. END 函数实例-计算项目的数量 在B12单元格中输入公式“=ROWS( ...
- Python--Windows下安装虚拟环境
为什么需要虚拟环境 在python开发中,我们可能会遇到一种情况:就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突.在这种情况之下,我们就需要一个工具能够将这两 ...
- call()、delegatecall()
call()当使用方法是:require(msg.sender.call.value(_weiToWithdraw)());则作用是将_weiToWithdraw个以太币发送给msg.sender地址 ...
- 工具 Sublime日志染色
工欲善其事,必先利其器. Preferences -> Browse Packages...
- 在项目中,多个方法会调用相同的sql语句,怎么解决各个方法的不同sql查询,解决冲突。
公司的代码中sql语句,可能会被多个方法进行调用,但是有的方法会关联到别的表,这样的话,如果修改不当,那么同样调用该sql语句的方法,会出现报错. 最近做的公司的一个功能,就出现这样一个问题,虽然本功 ...
- Ionic 中badge的应用
app中如果有服务端推送过来的消息,用户没有查看的话,出现一个数字提醒,类似微信的那种效果. 在Ionic中的实现过程还是很简单的: <ion-tab title="首页" ...