Java中的所有数字都应该是int类型.以下行在Java> 1.5中是合法的
Short s = 1; // Will compile to Short s = Short.valueOf((short)1) - thus you can't exceed short max value i.e.
Short s = 4444; // is invalid for autoboxing
Run Code Online (Sandbox Code Playgroud)
同样的机制去Integer和Byte实例.但Long的工作完全不同.以下代码给出了编译时错误
Long l = 10;
Run Code Online (Sandbox Code Playgroud)
Long使用相同的方法进行长类型的自动装箱,所以
Long l = 10L; //is valid and is translated into Long.valueOf(10L)
Run Code Online (Sandbox Code Playgroud)
我不明白为什么int不能分配给Long变量.对此事有何想法?