当前位置:  技术问答>java相关

关于Class中的getMethod,和Method中的invoke的问题!

    来源: 互联网  发布时间:2017-03-20

    本文导语:  本人要使用Class中的getMethod(String name, Class[] parameterTypes)得到一个方法,然后调用其invoke(Object obj, Object[] args)。参数类型依次为String,int,long,boolean;其中int,long,boolean的Class为什么,参数args怎么传入啊,请赐教,谢谢...

本人要使用Class中的getMethod(String name, Class[] parameterTypes)得到一个方法,然后调用其invoke(Object obj, Object[] args)。参数类型依次为String,int,long,boolean;其中int,long,boolean的Class为什么,参数args怎么传入啊,请赐教,谢谢先。

|
int.class, long.class, boolean.class

invoke(obj, new Object[]{ "string", new Integer(1), new Long((long)1), new Boolean(false));

|
Invokes the underlying method represented by this Method object, on the specified object with the specified parameters. Individual parameters are automatically unwrapped to match primitive formal parameters, and both primitive and reference parameters are subject to widening conversions as necessary. The value returned by the underlying method is automatically wrapped in an object if it has a primitive type. 

If the corresponding formal parameter has a primitive type, an unwrapping conversion is attempted to convert the object value to a value of a primitive type. If this attempt fails, the invocation throws an IllegalArgumentException. 
我想大概意思就是用Long 来表示long类型,系统会自动unwrapped to match primitive

|
Object obj, Object[] args

obj为对象主体,args为参数列表数组,如果参数为原始数据类型,则使用它的对应java对象。比如int对应Integer

要传入args,先创建一个定长的Object数组,然后以参数为基创建出所有参数对象,最后将这些对象按顺序push进Object数组即可

|
比如java test.test1  c1 c2 -t c4
那么args[0]= "c1",args[1]="c2",依此类推

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.tools枚举javafileobject.kind的类成员方法: class定义及介绍
  • 反编译一个class,这句话怎么理解:static Class class$jnsoft$manager$Slog;
  • java命名空间java.io接口objectstreamconstants的类成员方法: tc_class定义及介绍
  • 关于在一个class中调用另一个class中对象的问题!
  • java命名空间java.lang.annotation枚举retentionpolicy的类成员方法: class定义及介绍
  • public class Test 和 class Test 两种声明有什么区别
  • java命名空间java.lang类class<t>的类成员方法: getsuperclass定义及介绍
  • 有两个:1.class与2.java,2.java继承1.class类,要把2.java编译成2.class给如何书写!
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: class定义及介绍
  • class.forname的用处?如class.forname("Sun.Jdbc.Odbc.JdbcOdbcDriver")??????
  • java命名空间javax.tools枚举standardlocation的类成员方法: class_path定义及介绍
  • 如何实现在一个程序中,通过不同的Class名称调用不同的Class。
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: class定义及介绍
  • 为什么用JBUILDER生成的HTML文件打开时提示找不到CLASS类。但是这CLASS 跟它在同一目录下?
  • java命名空间javax.tools枚举standardlocation的类成员方法: class_output定义及介绍
  • driver = (Driver)Class.forName(driverName).newInstance()和Class.forName(driverName);有什么不同呀?
  • java命名空间java.util类resourcebundle.control的类成员方法: format_class定义及介绍
  • 为什么我的applet编译完,之后除了applet1.class之外,还有一个applet$1.class?
  • java命名空间java.lang类class<t>的类成员方法: getenumconstants定义及介绍
  • xx.java继承yy.class,编译xx.java为xx.class时应怎样书写?(谢谢)
  • java命名空间java.lang类class<t>的类成员方法: getdeclaringclass定义及介绍
  • Jdk+tomcat中编译后的class文件应放哪儿,web-inf下怎么没有class目录,急,在线等待!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3