小编Sir*_*off的帖子

Java:为什么我不能将int转换为Long

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)

同样的机制去IntegerByte实例.但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变量.对此事有何想法?

java primitive-types

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

primitive-types ×1