java Reflect Modifiers参数

时间:2014-02-26 12:48:41

标签: java reflection parameters

我用其他方法宣布了一个简单的类:

public void setDate(final Date date);

当我得到参数时:

List<Class<?>> params = new ArrayList<Class<?>>();
params.addAll(Arrays.asList(method.getParameterTypes()));

我确认它是最终的:

System.out.println("isFinal : " + Modifier.isFinal(params.get(0).getModifiers()));

但我得到了一个错误:

isFinal : false

但显然我宣布它是最终的。有什么问题?

2 个答案:

答案 0 :(得分:4)

您在询问类型final,而不是参数 - 而且java.util.Date不是最终类。

看看API,我无法立即看到任何确定参数是最终的方法 - 但这无论如何都是一个实现细节。它对调用者没有任何影响。

答案 1 :(得分:0)

params.get(0)返回参数的类型(类)。在您的情况下,java.util.Date最终。

不可能使用反射来找出你想要做的事情。