int 与long int类型转换

2025-12-17 08:07:18
推荐回答(5个)
回答1:

在WIN-TC中可以调试啊,怎么会不可以呢   在字节数上long型比int型大,所以int型转long是可以的,而反之有可能出错

回答2:

就是int乘以int默认使用int做的,有可能不够长,所以强制转换。当然这种解释只能是一种常见说法,还需要结合平台,与编译器。这种东西,没有定论的。只有实践才能看到结果。如果实际产品中,显然需要杜绝默认类型转换的发生。

回答3:

java5.0提供自动装箱拆箱,Integer与int不需强转,程序会自动转换,long和Long也是一样

所以,可以这么干

Long l1 = 100L;
long l2 = l1;
int i1 = (int)l2;
Integer i2 = i1;
另一种根据Integer的api有Integer.valueOf()和new Integer();可以接受int或者String类型
把Long类型转换成int或者String类型就可以了
Long l1 = 100L;
String str = l1.toString();
Integer i1 = Integer.valueOf(str);
Integer i2 = new Integer(str);
int i3 = i2;

回答4:

不同的数据类型,它的长度是不一样的,他们之间可以发生转换,如果长的转换为短,那么会被截短,相反亦然, char转换为int 需要溢出,int转换为char截短

回答5:

你应该确定sizeof(int)和sizeof(long),有的机子上面是一样大小的