反射获取方法参数与返回值类型

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
package test;
 2
 3import java.lang.reflect.Method;
 4import java.lang.reflect.ParameterizedType;
 5import java.lang.reflect.Type;
 6import java.util.List;
 7import java.util.Map;
 8
 9public class TempTest {
10
11    public static void main(String[] args) throws Exception {
12        Method[] methods = TempTest.class.getDeclaredMethods();
13        for (Method method : methods) {
14            System.out.println("method:" + method.getName());// 方法名
15
16            // //////////////方法的参数
17            System.out.println(" paramTypeType: ");
18            Type[] paramTypeList = method.getGenericParameterTypes();// 方法的参数列表
19            for (Type paramType : paramTypeList) {
20                System.out.println("  " + paramType);// 参数类型
21                if (paramType instanceof ParameterizedType)/**//* 如果是泛型类型 */{
22                    Type[] types = ((ParameterizedType) paramType)
23                            .getActualTypeArguments();// 泛型类型列表
24                    System.out.println("  TypeArgument: ");
25                    for (Type type : types) {
26                        System.out.println("   " + type);
27                    }

28                }

29            }

30
31            // //////////////方法的返回值
32            System.out.println(" returnType: ");
33            Type returnType = method.getGenericReturnType();// 返回类型
34            System.out.println("  " + returnType);
35            if (returnType instanceof ParameterizedType)/**//* 如果是泛型类型 */{
36                Type[] types = ((ParameterizedType) returnType)
37                        .getActualTypeArguments();// 泛型类型列表
38                System.out.println("  TypeArgument: ");
39                for (Type type : types) {
40                    System.out.println("   " + type);
41                }

42            }

43
44        }

45
46    }

47
48    public static String method1(List list) {
49        return null;
50    }

51
52    private static Map<String, Double> method2(Map<String, Object> map) {
53        return null;
54    }

55
56}
PMF5.0计算 EPA PMF5.0 计算步骤 阅读详情

相关推荐

全志 T527_Android13 编译 [ 避坑必看 ]

Swap 概念: Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。当输入编译命令make -j16 的时候,会有如下提示,这是官方建议通过减少编译线程来解决编译时消耗内存过大的问题。Android 13 系统的编译流程,编译一共分为两部分:内核编译 Android 编译。

公众号:嵌入式分享 2062

Java反射详解(二)-Method

前言 上一篇我们详细介绍了Field的用法,我们知道它是一个类用来拿到某个实体类的属性,那么Method这个类就是我们用来获取某个实体类的方法 方法 getMethod(); getMethods(); getDeclaredMethod(); getDeclaredMethods(); 这四个方法Field很类似,加上Declared也是只能拿本类的所有方法,不加的话只能获得本类public修饰和直接父类public修饰的方法 而不同的是:传参不同 getMethod(String methodNam

商朝 792

copilot基于 DeepSeek-R1 思路构建 VLA 自动驾驶强化学习系统

下面给出一个完整示例代码,结合 DeepSeek‑R1 的技术方法,实现一个端到端的 VLA(视觉+语言行动)自动驾驶深度强化学习系统。.2f。

ywfwyht的博客 763

java注解反射(8)——通过反射获取方法返回值参数以及其泛型;狂神说笔记

先上代码块 先创建两个方法和一个类 class User{ private String name; private int id; private int age; public String publicField; public User() { } public User(String name, int id, int age) { this.name = name; this.id = id;

木子 旭的博客 2747

Java通过反射获取方法返回值类型以及参数化的实际类型(下篇)

笔者最近在学习mybatis的框架,在写源码的时候遇到了一些关于通过反射获取返回值类型的实际参数类型的问题,并且已经写有一篇关于简单的返回值类型获取,诸如public User getOne(int id);获取返回值类型是User,public List< User > getAll();的返回值类型是List< User >,其参数类型数组是 {User},也就是参数类型是<> 里面包含的参数类型,比如public Map<String,Integer&

陌意随影的博客 5611

通过反射获取方法返回的类型

package org.entity; import java.lang.reflect.Method; import java.lang.reflect.Type; /** * 本案例演示如何通过反射将字符串转换为类 * */ public class Test3 { public static void main(String[] args) { String user ...

穆雄雄的博客 1084

springMVC使用反射调用方法

@Override public ApiPageVO run(AlEnginTrackTreeVO tree) { String currMethod = tree.getCurrMethod(); if(currMethod!=null) { Class<?> clazz; Method method; ApiPageVO ...

夏微凉秋微暖的博客 1653

java再复习——通过反射获取方法参数返回值的泛型类型

我们都知道了可以定义带有泛型参数方法,以及泛型返回值方法了,那么泛型在运行的时候已经被擦除了,我们该如何知道这个泛型到底是什么呢?有很多情况需要知道实际泛型是什么,Android数据库框架以及Http框架在解析成json成实体类的时候,必然要知道是哪个类。 获取参数的泛型API方法: public class GenericParameterizedTypeDemo { public

Ade-rui的博客 1万+

Java通过反射获取方法返回值类型以及参数化的实际类型(上篇)

最近在学mybatis的时候,自己根据参考资料自定义了一个简单的mybatis框架,期望能够简单实现对数据库操作的增删查改功能。在自定义mybatis框架的过程中,在使用注解来进行配置sql语句时,就遇到了一些关于获取返回值类型的小问题。比如说方法 publIc User getOne(int id);的返回值类型是User;public List< User > getAll();的返回值类型是List< User >,但是我们在进行mybatis框架书的时候,通过注解配置时,我们

陌意随影的博客 8166

java反射获取方法参数返回值类型

package test; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.List; import java.util.Map; ...

iteye_11189的博客 2435

java 反射 方法 返回值类型_Java反射机制二 获取方法返回值参数的泛型信息...

在使用反射机制时,我们经常需要知道方法参数返回值类型,很简单 ,下面上示例,示例中的两个方法非常相似package deadLockThread;import java.lang.reflect.*;import java.util.*;public class ParmReturnType {public static void main(String[] args) throws NoS...

weixin_29062613的博客 609

反射获取方法参数返回值类型

package test;       import java.lang.reflect.Method;     import java.lang.reflect.ParameterizedType;     import java.lang.reflect.Type;     import java.util.List;  import java.util.Map;    pub

pingyan158的专栏 1万+

反射机制获取方法参数类型返回值类型

package com.buaa.reflectTest; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.List; import java.util.Map; public class De

【小喵】的博客 7069

Java反射原理及源码实现;java获取类的所有属性(类名,方法名、返回值类型参数类型);java动态调用类的方法

反射的定义及概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法(类名,方法名,参数类型返回值类型);对于任意一个对象,都能够调用它任意的一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 总结来说就是,反射就是把java类中的各种成分映射成一个个 java对象例如:一个类有:成员变量、方法、构造方法,包...

Huang1178387848的博客 2288

Java:获取方法中的,返回值中 形参类型,及参数中泛型的参数列表

标题: Java 获取方法中的,返回值中 形参类型,及参数中泛型的参数列表 /** * 获取 * 方法中的,返回值中 * 形参类型,及参数中泛型的参数列表 * @author dell * */ public class TestDemo022 { private static void test(Map<String,Person> map,List<Integer> list,int id) { System.out.println("哈哈哈,我在map,lis

weixin_45986454的博客 1038

java反射获取泛型_如何通过Java反射获取泛型类型信息

前言关于Java泛型,很多人都有一个误解,认为Java代码在编译时会擦除泛型的类型,从而在运行时导致没法访问其类型,这其实并不完全正确,因为有一部分泛型信息是可以在运行时动态获取的,这部分信息基本能够满足我们日常开发中的大多数场景,本篇文章我们就来了解相关的知识。泛型的使用场景在讨论如何用反射获取泛型类型之前,我们先来回顾下,在Java里面什么时候会使用泛型,了解这个问题之后,我们才能继续思考如何...

weixin_39893728的博客 1775

Java反射在类中的应用:通过反射执行方法获取方法

要动态获取一个对象方法的信息,首先需要通过下列方法之一创建一个 Method 类型的对象或者数组。 getMethods() getMethods(String name,Class<?> …parameterTypes) getDeclaredMethods() getDeclaredMethods(String name,Class<?>...parameter...

jijiangpeng的博客 7886

Java反射--获取方法的泛型返回或泛型参数

Java反射--获取方法的泛型返回或泛型参数 一.测试类 public class Test02 { public void parameterTest(Map<Integer, Dog> map){ } public Map<Integer,Dog> returnTest(){ return new HashMap<Integer, Dog>(); } } 二.获取方法的...

我是guyue,guyue就是我O(∩_∩)O 4296

C# 通过反射获取MVC Controller里的类名,方法名,参数列表,返回值类型,Description描述,自定义Attribute...

需要反射的DLL里的一个类: namespace ElegantWM.WebUI.Areas.Admin.Controllers { [Description("功能模块管理")] public class ModuleController : BaseController { [Action] [Description...

weixin_34038652的博客 1355

Java反射机制:方法反射的基本操作

方法反射 1)如何获取某个方法 方法的名称和方法参数列表才能唯一决定某个方法 2)方法反射的操作 method.invoke(对象,参数列表) 3)为什么要用方法反射 why?指定方法名称调用方法 举个实际应用的案例 —->通过标准JavaBean的属性名获取其属性值 BeanUtil类 4)通过Class,Method来认识泛型的本质

草多兄的博客 393

【译】5. Java反射——方法

原文地址:http://tutorials.jenkov.com/java-reflection/methods.html ============================================================================================ 使用Java反射,你可以检查类的方法并在运行时调用它们。这是通过Java类j...

weixin_30363817的博客 116

Java基础之反射

1.反射获取对象 Class<?> clazz = findClass(classLoader, className); 2.反射所有方法参数 Method[] methods = clazz.getMethods(); for (Method method : methods) { Class<?>[] parameterTypes = method...

qq_34976024的博客 215
上一篇: 《最忆是江南》 电视散文
下一篇: 单引号,双引号,转义
wuzfxx
博客等级 码龄15年 9粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值