温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Parameter参数怎样获取值

发布时间:2026-10-04 08:12:39 来源:亿速云 阅读:86 作者:小樊 栏目:编程语言

在 Java 里,“Parameter(参数)”出现在多个场景中,获取值的方式取决于你指的是哪一种。下面按常见情况说明:


1️⃣ 方法参数(Method Parameter)

最常见的情况:方法定义中的参数

public void test(String name, int age) {
    // 直接使用参数
    System.out.println(name);
    System.out.println(age);
}

✅ 获取方式:
方法被调用时由调用者传入,方法体内直接使用即可。

test("Tom", 18);

2️⃣ 反射中的 Parameter(java.lang.reflect.Parameter)

用于获取方法参数信息(Java 8+)

Method method = clazz.getMethod("test", String.class, int.class);
Parameter[] parameters = method.getParameters();

for (Parameter p : parameters) {
    String name = p.getName();        // 参数名
    Class<?> type = p.getType();      // 参数类型
    System.out.println(name + " : " + type);
}

⚠️ 注意:

  • 参数名默认在编译后会被擦除
  • 需加编译参数保留:
javac -parameters xxx.java

或在 Maven 中:

<compilerArgs>
    <arg>-parameters</arg>
</compilerArgs>

❗ 反射 Parameter 不能直接“获取值”,只能获取参数定义信息
要获取调用时的值,需要用 Method.invoke() 传入参数


3️⃣ 注解参数(Annotation Parameter)

@MyAnno(value = "hello", count = 3)
public class Demo {}
MyAnno anno = Demo.class.getAnnotation(MyAnno.class);
String value = anno.value();
int count = anno.count();

✅ 通过注解对象直接调用方法获取


4️⃣ HTTP 请求参数(Spring 等 Web 框架)

Spring MVC

@GetMapping("/user")
public String getUser(@RequestParam("id") int id) {
    System.out.println(id);
    return "ok";
}

或统一获取:

public String getUser(HttpServletRequest request) {
    String id = request.getParameter("id");
}

5️⃣ 命令行参数(main 方法)

public static void main(String[] args) {
    for (String arg : args) {
        System.out.println(arg);
    }
}

✅ 总结对照表

场景 如何“获取值”
方法参数 方法体内直接使用
反射 Parameter 只能获取定义,值由 invoke 传入
注解参数 注解对象.方法()
Web 参数 @RequestParam / request.getParameter
main 参数 String[] args

如果你指的是 某一种具体场景(比如反射、Spring、MyBatis、注解等),可以告诉我,我可以给你更精准的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手