首页 > 其他分享 >反射工具类

反射工具类

时间:2024-07-17 16:07:29浏览次数:10  
标签:反射 methodName Object paramArr clazz result 工具 Class

InvokeUtils代码如下:

package com.ksource.utils;

import org.apache.commons.collections4.MultiValuedMap;

import java.lang.reflect.Method;
import java.util.Collection;

/**
 * @Author dxy
 * @Date 2024/7/16 17:54
 * @Description
 */
public class InvokeUtils {

    public static void main(String[] args) throws Exception{
        Object[] paramArr = new Object[]{"lxi",12};
        Class<?> clazz = Class.forName("com.ksource.utils.TestJava");
        Object result = invokeMethod(clazz, paramArr, "a2");
        System.out.println(result);
    }

    public static Object invokeMethod(Class clazz, Object[] paramArr, String methodName){
        try {
            MultiValuedMap<String, Class<?>[]> methodMultimap = ParamUtils.getMethodInfo(clazz.getName());
            Collection<Class<?>[]> classList = methodMultimap.get(methodName);
            Class<?>[] clazzList = null;
            for (Class<?>[] elements : classList) {
                if(paramArr.length == elements.length){
                    clazzList = elements;
                }
            }
            Method method = clazz.getMethod(methodName, clazzList);
            Object result = method.invoke(clazz.newInstance(), paramArr);
            return result;
        }catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }
}

  

标签:反射,methodName,Object,paramArr,clazz,result,工具,Class
From: https://www.cnblogs.com/henuyuxiang/p/18307650

相关文章

  • 解决方案 | listary 双击ctrl不生效,不启动搜索工具条 (困扰了我2天,终于解决)
    一、问题描述快捷键设置是正常的,但是双击ctrl不生效,不启动搜索工具条。(其实是大屏幕不显示,我一直盯着大屏幕,没看笔记本;本方法适用于同时使用笔记本和显示器)  解决思路来源 二、解决方法 只需要把接着笔记本的hdmi线路拔掉重插,然后再重新启动listary即可正常在笔记......
  • 端口转发工具rinetd 交叉编译及端口配置(下载、交叉编译、端口转发)
    端口转发工具rinetd从下载到使用(下载、交叉编译、端口转发)一、下载下载:https://wwm.lanzoue.com/ixjKn24phczg密码:apeb二、交叉编译1、进入源代码目录cd~/software/rinetd-0.702、清理现有配置和生成的文件makedistclean3、新建build文件夹,并进入mkdirbuildcdb......
  • iftop--实时网络接口流量监控工具
    1、介绍iftop是实时流量监控工具,可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。 2、安装yum-yinstalliftop查看版本strings/usr/sbin/iftop|grep"version" 3、常用参数-h显示帮助信息-n不进行dns解析,直接显示ip地址-N显示端......
  • 想编辑GIS场景该怎么办?快来试试这款免费可视化工具
    想编辑GIS场景该怎么办?别急,山海鲸可视化这款免费可视化工具能帮你轻松搞定。作为一款免费可视化工具,山海鲸可视化不仅功能强大,而且使用便捷,简直是GIS从业者的福音。 首先,山海鲸可视化的GIS场景编辑功能极为强大。它支持多种常见的GIS文件格式,并且内置了丰富的编辑工具,让你可以......
  • 什么软件修复视频画质比较好,视频画质修复工具
    有些视频中可能会出现噪点、残影、颜色失真等问题,导致观看时体验感不太好,修复视频画质可以去除这些问题,使视频更加干净、清晰和真实。高质量的视频画质能够提高观众的观看体验,让观众更加享受观看视频的过程。特别是在需要展示重要信息和细节的场合,修复视频画质显得尤为重要......
  • IPython:提升Python编程效率的强大工具与技巧整理
    IPython:提升Python编程效率的强大工具与技巧整理IPython,作为一个增强的交互式Python解释器,自其诞生以来,就以其丰富的功能集和高效的工作流赢得了广大Python开发者的青睐。它不仅仅是一个简单的命令行界面,更是集成了代码补全、魔术命令、交互式调试、富文本展示、历史命令回......
  • 启动盘工具Ventoy和UltraISO对比
    Ventoy和UltraISO都是常用于制作启动盘的工具,但它们在功能和使用方式上有一些显著的区别。VentoyVentoy是一个开源的启动盘制作工具,其主要特点包括:多镜像支持:用户可以将多个ISO/WIM/IMG/VHD(x)/EFI等类型的文件直接拷贝到U盘,Ventoy会在启动时显示一个菜单供用户选择。无需格......
  • .NET开源、简单、实用的数据库文档生成工具
    前言今天大姚给大家分享一款.NET开源(MITLicense)、免费、简单、实用的数据库文档(字典)生成工具,该工具支持CHM、Word、Excel、PDF、Html、XML、Markdown等多文档格式的导出:DBCHM。支持的数据库SqlServer、MySQL、Oracle、PostgreSQL、DB2、SQLite。文档的内容都包含什么?序号|......
  • 探索AI绘画工具:艺术创作的未来
    探索AI绘画工具:艺术创作的未来在数字时代,人工智能(AI)已经成为推动创新的主要力量之一,特别是在艺术和设计领域。AI绘画工具通过结合先进的机器学习算法和创意表达,为艺术家和设计师开辟了新的创作可能性。这些工具不仅使创作过程更为高效,而且为艺术创作带来了前所未有的自由度和......
  • 一种防勒索备份方案设计;易备,数据安全备份的强大工具
    创建防勒索软件备份方案企业遭遇勒索袭击时面对的最艰难处境是勒索软件在攻击期间设法加密或彻底销毁了备份文件。勒索软件组织希望受害者难以从备份中恢复数据,因此他们会竭尽全力寻找备份文件,并通过任何方式让备份文件变得不可用。安全部门通常给出的建议确保有“离线存储......