今天遇到一个小bug。
问题:
数据库字段中phone 类型为 int 20.
然后将封装入参的 dto 对象中的 phone 字段改为 int.
结果 前台传入的 11位字符串类型的数字无法转换为 int.
原因:
因为 java 中和 mysql 中的 int 类型最大值是 2147483647 存储长度为 32bit.
所以范围是“-2^32”到“2^32-1”; 也就是“-2147483648”到“2147483647”。
而手机号为 11 位,超出了最大范围。