java实体类属性命名的一个坑
2019.05.10 | 767阅读 | 1条评论 | java
今天遇到了一个坑。类里面有个属性叫pOrgNo,通过反射获取属性值时候默认将属性首字母变大写拼上get来调用方法,但是发现找不到方法。查看了下getter的名字居然是getpOrgNo,首字母是小写的!!!
判断代码:
/**
* getter,setter属性处理
* @param s
* @return
*/
public static String decapitalize(String s) {
if (s == null || s.length() == 0)
// 空处理
return s;
if (s.length() > 1 && Character.isUpperCase(s.charAt(1)) && Character.isUpperCase(s.charAt(0))) {
// 长度大于1,并且前两个字符大写时,返回原字符串
return s;
} else if(s.length() > 1 && Character.isUpperCase(s.charAt(1)) && Character.isLowerCase(s.charAt(0))){
// 长度大于1,并且第一个字符小写,第二个字符大写时,返回原字符串
return s;
}else if(Character.isLowerCase(s.charAt(0))){
//如果首字母大写,返回原字符
return s;
}else {
// 其他情况下,把原字符串的首个字符大写处理后返回
char ac[] = s.toCharArray();
ac[0] = Character.toUpperCase(ac[0]);
return new String(ac);
}
}
参考文章:
打赏
微信扫一扫,打赏作者吧~