程序那些事

逆水行舟,不进则退。

java实体类属性命名的一个坑

2019.05.10 | 42阅读 | 1条评论 | java

今天遇到了一个坑。类里面有个属性叫pOrgNo,通过反射获取属性值时候默认将属性首字母变大写拼上get来调用方法,但是发现找不到方法。查看了下getter的名字居然是getpOrgNo,首字母是小写的!!!

clipboard.png

判断代码:
    /**
 * 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);
 }
}
参考文章:
https://blog.csdn.net/yhch1024/article/details/81703311
https://blog.csdn.net/u010744399/article/details/52523126


赞 (

发表评论

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

召唤伊斯特瓦尔