第一行代码中,'s1 + 1' 的结果是int类型,需要强制转换为short类型才能赋值给s1,因此会报错。

第二行代码中,'s1 += 1' 等价于 's1 = (short)(s1 + 1)',其中's1 + 1'的结果是int类型,但由于赋值运算符+=会自动进行类型转换,因此不会报错。

Java中short类型赋值的陷阱:s1 = s1 + 1 和 s1 += 1的区别

原文地址: https://www.cveoy.top/t/topic/j6IK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录