文章目录

  • 1.问题描述
  • 2.尝试
    • 2.1method1
    • 2.2method2
  • 3.正确做法
  • 参考

1.问题描述

原方法,用反射函数获取其方法的描述时,发现是

也就是说,返回的是Object[]的数组,但是使用反射的invoke方法时,发现方法的描述如下:

Object java.lang.reflect.Method.invoke(Object arg0, Object… arg1) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException

返回的是一个Object对象,不使用反射时我的调用如下:

Object result = plot.plotTest2(1)[0]

我们要怎样获取数组返回值的元素呢?

2.尝试

2.1method1

直接使用下标取可以吗?比如
m1.invoke(c,1,(Object)a)[0]
显然是不行的,因为返回的对象是Object对象,对Object对象实行直接取下标的结果,就是会报错:你试图从不是Array的对象中取值。

2.2method2

虽然我的方法打印出来是需要传两个参数的,但是我是即调用的时候只传了一个参数,那么是否可以在反射的时候也只传一个参数使其返回值是一个数组呢?
结果显然是错的,反射调用时必须传够参数,要不然连方法也调用不了。

3.正确做法

使用Array来操作,Array.get(result,0),result是方法的返回值,这样可以取出其中的元素!!!

欢迎留言讨论!!

参考

https://segmentfault.com/q/1010000004672366
http://wenda.tianya.cn/m/question/74d13fe35787aa17

Ironman.I love you three thousand

反射方法返回值是数组时取其中元素的办法相关推荐

  1. 数组的map方法返回值

    先说一下数组map方法的使用: map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值. map() 方法按照原始数组元素顺序依次处理元素. 注意: map() 不会对空数组进行 ...

  2. Java数组作为方法返回值

    // 数组作为方法返回值 一个方法可以有0.1.多个参数:但是只能有0或者1个返回值. 如果希望一个方法当中产生了多个结果数据进行返回, 使用一个数组作为返回值类型即可. 任何数据类型都能作为方法的参 ...

  3. JAVA中返回值为字母时_LeetCode#524通过删除字母匹配到字典里最长单词-java中CompareTo方法用法以及Comparator中Compare方法返回值...

    import java.util.Collections; import java.util.Comparator; import java.util.List; /* 524. 通过删除字母匹配到字 ...

  4. .net mvc actionresult 返回字符串_072-SpringMVC后端控制器接收参数、处理器方法返回值类型、拦截器、文件上传下载...

    1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? 在springmvc中配置 (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...

  5. 集合中的compare方法返回值说明

    compare()方法,有两个参数自定义为 o1 和 o2,默认返回 0,可修改方法体中的内容,返回不同的参数值(整型) o1待比较的参数,o2与其比较的参数,即之前已经排序好的数组或集合的最后一个元 ...

  6. Java框架-SpringMVC的应用(json数据交互、控制器方法返回值、文件上传)

    1. 搭建SpringMVC开发环境 1.1 创建项目,添加依赖 <?xml version="1.0" encoding="UTF-8"?> &l ...

  7. 【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )

    文章目录 一.使用 for 循环遍历集合 二.使用 each 方法遍历集合 三.集合的 each 方法返回值分析 四.完整代码示例 一.使用 for 循环遍历集合 使用 for 循环 , 遍历集合 , ...

  8. IXMLDOMDocument中的load方法返回值有BUG

    IXMLDOMDocument中的load方法返回值是否有BUG IXMLDOMDocument中load一个xml文件时,返回值和msdn上说的不符 MSDN上说的是: Return Values ...

  9. SpringMVC控制类的Controller方法返回值

    SpringMVC控制类的Controller方法返回值 Controller方法返回值 返回字符串 逻辑视图名 controller方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址 ...

  10. 接口返回html页面乱码,解决nodejs中使用http请求返回值为html时乱码的问题

    今天用nodejs进行http请求时返回的数据是一个html文件,然后我还是按照以前解析json数据的方法.果不其然报错了:SyntaxError: Unexpected token  in JSON ...

最新文章

  1. ARKit从入门到精通-ARKit工作原理及流程介绍
  2. 禁用CMFCRibbonApplicationButton的单击和双击事件
  3. [vue] 分别说说vue能监听到数组或对象变化的场景,还有哪些场景是监听不到的?无法监听时有什么解决方案?
  4. Unable to open /dev/sda的原因之一
  5. ubuntu下pip的安装、升级和使用
  6. oracle 如何添加数据文件,在Oracle数据库里插入excel文件数据的步骤
  7. mac touchbar 自定义
  8. “会用LabVIEW,但是却没有听说TestStand,好像有点说不过去吧!(上)
  9. 2022年最新iOS面试题(附答案)
  10. python交通流预测算法_使用KNN方法进行的短时交通流预测和结果分析
  11. 20145322何志威《网络对抗》Exp2 后门原理与实践
  12. 关于DDS文件格式的说明
  13. 好看的皮囊 · 也是大自然的杰作 · 全球高质量 · 美图 · 集中营 · 美女 · 2017-08-24期...
  14. SpringCloud与微服务Ⅴ --- Eureka服务注册与发现
  15. 百面机器学习和百面深度学习-测试1
  16. 施工现场资料员15个常见问题处理流程!
  17. 视频号领域发布的不同时间,视频号上热门秘诀:国仁楠哥
  18. 谷歌测试工具_使用Google网站优化工具进行A / B测试的指南
  19. JavaSE_第十一章:常用类
  20. 小孔成像总结_备战中考|初中物理重要知识点总结,建议收藏!(下篇)

热门文章

  1. eclipse中基于maven构建多模块项目
  2. 208-实现 Trie (前缀树)
  3. 【中级篇】Linux下搭建MySQL数据库系统
  4. PostgreSQL 为什么不要滥用unlogged table hash index
  5. nginx源码分析之线程池
  6. P2P共享经济都可接受 O2O×××有何不可?
  7. 【CSON原创】javascript图片滚动效果发布
  8. 计算机算法设计与分析第三章答案,《计算机算法设计与分析》第三章动态规划法.ppt...
  9. 计算机硬件 中级证,计算机硬件组装与教学方法计算机应用中级职称论文
  10. Python(十):面向对象(类)