public String findProperty(String name) {StringBuilder prop = buildProperty(name,new StringBuilder());return prop.length() > 0 ?prop.toString() : null; }public String findProperty(String name,boolean useCamelCaseMapping) {if (useCamelCaseMapping) {name = name.replace("_","");}return findProperty(name); }
我们接着往下看,buildProperty
private StringBuilderbuildProperty(String name, StringBuilder builder) {PropertyTokenizer prop = newPropertyTokenizer(name);if (prop.hasNext()) {String propertyName =reflector.findPropertyName(prop.getName());if (propertyName != null) {builder.append(propertyName);builder.append(".");MetaClass metaProp =metaClassForProperty(propertyName);metaProp.buildProperty(prop.getChildren(), builder);}} else {String propertyName =reflector.findPropertyName(name);if (propertyName != null) {builder.append(propertyName);}}return builder; }
public StringfindPropertyName(String name) {
returncaseInsensitivePropertyMap.get(name.toUpperCase(Locale.ENGLISH));
}
而private Map<String, String>caseInsensitivePropertyMap = new HashMap<String, String>();
存储的就是fieldName
,生活若剥去了理想梦想幻想,那生命便只是一堆空架子