这样的定义竟然会报错?
public long[][] LongArray = {
{3725701120,3725721599},
{3725701120,3725721599},
{3728539648,3728572415},
};
JDK文档里清楚地写了long的范围是2的63次方-1,但我定义这些数字才小的可怜。他竟然报异常:
The literal 3725701120 of type int is out of range
 
这是怎么回事?
望高手解答,我要定义长整形的数组该怎么办?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【chenhouquan】截止到2008-07-29 09:24:51的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:2                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    3728539648L后面加上L或l才是long型的你这样定义的字面常量是 int型的
      

  3.   

    是的,Java默认为转成Int,所以后面加L或者l吧。
      

  4.   

    如果要定义long型数据需要在 数字后面加上L或l  表示long型
    如果不加 则默认为int
      

  5.   

    默认是int型后面需要加l或则是L
      

  6.   

    long 必须加l或L
    float 必须加f或F
      

  7.   

    是啊!建议楼主多多看看java基础了!
      

  8.   

    就是这样 你看看java核心卷 就会明白
      

  9.   

    public long [][] LongArray={
    {123L,223L},
    {223L,321L},
    {323L,423L},
    };
      

  10.   

    long 类型变量赋值,等号右边的没有加L或l,则默认为int,如果该值没有超过int的范围,则无需加L或l,如果超过了int范围,则必须加L或l