开发者社区> 问答> 正文

Java数据类型问题

将long类型的最大值复制给一个long变量为什么会报错:The literal 9223372036854775807 of type int is out of range。int类型就没事。

    int b = 2147483647;//编译通过
    long c = 9223372036854775807;//编译出错
    System.out.println(Integer.MAX_VALUE);//打印出2147483647
    System.out.println(Long.MAX_VALUE);//打印出9223372036854775807

展开
收起
蛮大人123 2016-02-22 14:44:16 2173 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    long c = 9223372036854775807L; 这样就不会出错了。
    long 型字面量需要加 L 或 l 后缀标识。没有标识会被当作整型字面量,所以受 int 范围限制。

    2019-07-17 18:46:41
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载