在 Java 里,“Parameter 参数”有很多种场景,不同场景读取方式不一样。下面按常见情况给你总结:
最常见的情况:方法定义里的参数,直接通过形参名使用。
public void test(String name, int age) {
System.out.println(name);
System.out.println(age);
}
✅ 不需要“读取”,直接用它就行
⚠ 如果你是想通过反射获取参数名:
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
public class Demo {
public void test(String name, int age) {}
public static void main(String[] args) throws Exception {
Method method = Demo.class.getMethod("test", String.class, int.class);
for (Parameter p : method.getParameters()) {
System.out.println(p.getName()); // name, age
System.out.println(p.getType());
}
}
}
⚠ 注意:
javac -parameters Demo.java
否则参数名可能是 arg0, arg1
@RequestParam@GetMapping("/user")
public String getUser(@RequestParam("id") Integer id) {
return "id = " + id;
}
@GetMapping("/user")
public String getUser(HttpServletRequest request) {
String id = request.getParameter("id");
return id;
}
public static void main(String[] args) {
for (String arg : args) {
System.out.println(arg);
}
}
运行:
java Demo 123 abc
Properties prop = new Properties();
prop.load(new FileInputStream("config.properties"));
String value = prop.getProperty("name");
@Value("${app.name}")
private String appName;
PreparedStatement ps = conn.prepareStatement("select * from user where id=?");
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();
如果你指的是:
java.lang.reflect.ParameterParameterParameterMetaData可以告诉我具体用在哪一块(Spring / MyBatis / JDBC / 反射),我可以给你更精准的示例。
✅ 总结一句话:
方法参数直接用;反射用 Parameter;Web 用 Request;配置用 Properties / @Value
如果你能贴一段代码,我可以直接告诉你该怎么改。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。