为了账号安全,请及时绑定邮箱和手机立即绑定

将数字作为方法参数传递时,该数字将解析为什么数据类型?

将数字作为方法参数传递时,该数字将解析为什么数据类型?

月关宝盒 2021-10-28 14:00:52
public static void main(String[] args) {    methodA(5);}public static void methodA(int i) {    System.out.println("int method " + i);}public static void methodA(short s) {    System.out.println("short method " + s);}上面java程序的输出是整数方法 5因此,当将 5 作为参数传递时,为什么调用带有 int 参数的方法而不是 short。将参数转换为 short 后,将调用带有 short 参数的方法。methodA((short)5);当我通过 5 时,为什么 java 将其视为 int,而简而言之,我必须将其强制转换?考虑到,对于短数据类型,数字范围是 -32,768 到 32767。
查看完整描述

2 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

5是一个int字面量,因此它是一个int,而不是一个short


查看完整回答
反对 回复 2021-10-28
?
浮云间

TA贡献1829条经验 获得超4个赞

Integer 或Integer 常量的默认大小是4 字节,而short 是2 字节。您可以执行以下操作。

      long t = 5;

因为扩大原始转换不会丢失信息。

对于以下内容,您需要进行转换,因为缩小原始转换会丢失信息和量级。编译器确保你是故意这样做的。

     short t = (short)5;


查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信