java 类大写_记java实体类属性名为全部为大写踩的坑(基础)

1.今天后台使用实体类接收参数,然后有个参数发现明明前后都是对应的,但是那个属性偏偏的不到数据

后面百度才知道(写前端太久java基础都给忘了,该补补了)

spring默认的命名方式为,首字母转小写,连续大写字母都转成了小写

恍然大悟:也就是说当我实体类自动为SN时,get方法getSN也就相当于get,sn这个字段,set方法getSN也就相当于set,sn这个字段,就会导致跟字段SN不对应,导致无法注入值

这时候其实有解决的办法,就是get,set方法添加@JsonPropety("属性名")解决

Java的规范是首字母小写的然后驼峰命名

看源码后发现

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{

//其他情况下,把原字符串的首个字符小写处理后返回

char ac[] = s.toCharArray();

ac[0] = Character.toLowerCase(ac[0]);

return new String(ac);

}

}

得出结论

当实体类的属性为前两个为大写时他会返回原字符

AA->AA

Aa->aa

aa->aa

这样的差异会导致set,get取不到对应的值,所以还是严格按照java的命名规范来

JavaBean 中的属性是通过 get/set 方法名得来的,因此getSname 对应的属性名是 snamegetSName 对应的属性名是 SName如果写成 sName 或者 Sname 的话就是不合法的属性名。在 Java 中要区分一下属性(property)与字段(field)或成员变量(member variable)的区别。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值