小编典典
的JavaBeans技术规范表示,对一个属性propertyName应该有一个getter方法getPropertyName()和/或setter方法setPropertyName()。
属性仅由getter和setter方法的存在定义,也可以是计算值。不需要对象上的实例变量。
该规范定义了属性和getter / setter方法的大写规则:
因此,当我们从现有Java名称的中间提取属性或事件名称时,通常会将第一个字符转换为小写。但是,为了支持偶尔使用所有大写名称,我们会检查名称的前两个字符是否均为大写,是否保留为大写。例如
“ FooBah”变成“ fooBah”,“ Z”变成“ z”,“ URL”变成“ URL”
该方法实际上实现为:
/*
Utility method to take a string and convert it to normal Java variable name
capitalization. This normally means converting the first character from upper case to
lower case, but in the (unusual) special case when there is more than one character
and both the first and second characters are upper case, we leave it alone.
Thus "FooBah" becomes "fooBah" and "X" becomes "x", but "URL" stays as "URL".
Parameters:
name The string to be decapitalized.
Returns:
The decapitalized version of the string.
*/
public static String decapitalize(String name) {
if (name == null || name.length() == 0) {
return name;
}
if (name.length() > 1 && Character.isUpperCase(name.charAt(1)) &&
Character.isUpperCase(name.charAt(0))){
return name;
}
char chars[] = name.toCharArray();
chars[0] = Character.toLowerCase(chars[0]);
return new String(chars);
}
所以:
如果namenull为null,则将其返回
如果的name大写字母前两个字符,则将其返回
所有其他字符串,将第一个字符大写
2020-11-01