温馨提示×

温馨提示×

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

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

java Parameter参数怎么用

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

在 Java 里,“Parameter(参数)”通常出现在**方法定义、方法调用、反射(Reflection)**这几个场景里。下面分情况给你讲清楚,并给示例。


一、方法中的 Parameter(最常见)

1️⃣ 定义方法参数

public void sayHello(String name, int age) {
    System.out.println("你好," + name + ",年龄:" + age);
}
  • String name、int age 就是方法参数(parameter)
  • 用于接收调用方法时传入的值

2️⃣ 调用方法(传实参 argument)

sayHello("张三", 18);

二、参数传递方式(重点)

✅ Java 只有「值传递」

基本类型(值拷贝)

void change(int x) {
    x = 100;
}

int a = 10;
change(a);
// a 仍然是 10

引用类型(地址值拷贝)

void changeList(List<String> list) {
    list.add("Java");
}

List<String> myList = new ArrayList<>();
changeList(myList);
// myList 里有 "Java"

⚠️ 注意:改的是对象内容,不是引用本身


三、可变参数(Varargs)

public void printAll(String... items) {
    for (String s : items) {
        System.out.println(s);
    }
}

printAll("A", "B", "C");
  • 本质是一个数组
  • 一个方法只能有一个可变参数
  • 必须放在参数列表最后

四、反射中的 Parameter(java.lang.reflect.Parameter)

用于运行时获取方法参数信息

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class Test {
    public void test(String name, int age) {}

    public static void main(String[] args) throws Exception {
        Method m = Test.class.getMethod("test", String.class, int.class);
        Parameter[] params = m.getParameters();

        for (Parameter p : params) {
            System.out.println(p.getName()); // name / age
            System.out.println(p.getType()); // String / int
        }
    }
}

⚠️ 注意

  • 默认编译会擦除参数名
  • 想拿到真实参数名,需加编译参数:
javac -parameters Test.java

五、常见易错点

❌ 误解:Java 有引用传递
✅ 实际:只有值传递(引用类型传的是地址值)

❌ 在方法里重新赋值对象

void swap(List a, List b) {
    List t = a; a = b; b = t; // 对外无效
}

如果你是指 MyBatis / Spring / JDBC 里的 Parameter,或者 @Parameter 注解,可以告诉我具体场景,我给你更针对性的例子。

向AI问一下细节

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

AI
助
手