那么我正在尝试学习java MVC模式,但我无法理解以下方法:
protected void setModelProperty(String propertyName, Object newValue) {
for (AbstractModel model: registeredModels) {
try {
Method method = model.getClass().
getMethod("set"+propertyName, new Class[] {
newValue.getClass()
}
);
method.invoke(model, newValue);
} catch (Exception ex) {
// Handle exception
}
}
}
我不明白:
Method method = model.getClass().
getMethod("set"+propertyName, new Class[] {
newValue.getClass()
}
);
所以在getMethod中我们是根据属性来检索(setSomething)方法名,那么下面的“东西”就是属性值newValue,用这个我完全看不懂的花哨的表达式来表达。
new Class[]
<--- 所以这是一个类数组???next { newValue.getClass() }
<---- 好的,通过调用方法获取括号中的类名,但是分号呢?一定有一些我不明白的特殊结构,它看起来像一个类,但如果没有分号,那肯定是不同的......请大家解释一下这是什么......