【问题标题】:Java casting issues on long primitive type长原始类型的 Java 转换问题
【发布时间】:2022-11-27 01:07:48
【问题描述】:

我的想法中有简单的代码,例如

            { 
                
                var f = (short)10;
                f =  (byte) 20;
                f =  32767;
                f =  (int)32767;
                f =  (char)10;
                f =  (long)32767;
                System.out.print(f);
            }

这里的问题是关于从长到短的转换,int 工作正常,因为范围没问题,但 long 不会发生同样的情况。

为什么这段代码不起作用? 你能告诉我这个错误的技术原因吗?

【问题讨论】:

  • 我假设这是因为 f 默认键入 int。为什么还要在这里使用var?动机是什么?如果您需要long,只需输入 long。

标签: java casting long-integer local-variables short


【解决方案1】:

初始化变量时,编译器需要确定类型。这意味着当使用 var 时,首先声明一个变量,然后在稍后阶段再次初始化它是不被接受的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 2010-10-03
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多