在 Java 中,所谓 **“Parameter(参数)”**通常出现在几个不同的场景里:方法参数、泛型类型参数(<T>)、以及 java.lang.reflect.Parameter(反射中的参数)。不同场景下的“限制”并不一样,下面系统性地说明。
static 方法:255 个this 占 1 个槽,所以 最多 254 个void m(int a, int b, ..., int z) {} // 最多 254(实例)/255(static)
var)void m(var x) {} // ❌ 编译错误
T...)void m(int... a, String b) {} // ❌
void m(String b, int... a) {} // ✅
方法参数 不能使用 以下修饰符:
staticfinal ✅(允许,但不强制)public / private / protectedtransientvolatilevoid m(final int x) {} // ✅
void m(public int x) {} // ❌
-parameters)class Box<T> {}
class Map<K, V> {}
List<int> list; // ❌
List<Integer> list; // ✅
T t = new T(); // ❌
static T value; // ❌
java.lang.reflect.Parameter 的限制这是反射中表示方法参数的类。
javac -parameters
否则:
parameter.getName() // arg0, arg1...
method.setAccessible(true);
✅ 方法参数限制
var✅ 泛型参数限制
new T()✅ 反射 Parameter
如果你是指 某个具体场景(如 Spring 注解参数、MyBatis 参数、构造方法参数、Lambda 参数等),可以告诉我,我可以更精准说明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。