Java 整数在传递给需要对象类型的方法时变长
我的预期输出为真 但实际输出为假 我的理解是,在整数数据类型之间,将分配最大的类型。Java 整数在传递给需要对象类型的方法时变长,java,object,integer,autoboxing,Java,Object,Integer,Autoboxing,我的预期输出为真 但实际输出为假 我的理解是,在整数数据类型之间,将分配最大的类型。 如果是这样,这叫什么?then和else部分的正确吗?1:2l是int和long。结果是最宽,长,然后将零件铸造为长。看 在计算机科学中,这一术语是平衡类型 如前所述,具有int和long的三元表达式将受到约束,从而导致long错误,为什么您希望1整数和2L长的“较大”类型。。。会是整数吗?顺便说一下。。。请始终键入L,而不是L。关于字体,它很容易被误读为1(数字)。特别是:@ACV a jewe值得一读。不幸
如果是这样,这叫什么?then和else部分的
正确吗?1:2l是int
和long
。结果是最宽,长
,然后将零件铸造为长。看
在计算机科学中,这一术语是平衡类型
如前所述,具有int
和long
的三元表达式将受到约束,从而导致long
错误,为什么您希望1整数和2L长的“较大”类型。。。会是整数吗?顺便说一下。。。请始终键入L
,而不是L
。关于字体,它很容易被误读为1
(数字)。特别是:@ACV a jewe值得一读。不幸的是,这里没有列出三元转换。
public class Main
{
public static void main(String args[])
{
process(true ? 1 : 2L);
}
static void process(Object object)
{
System.out.println(object instanceof Integer);
}
}
34 / 2.0 // double, more a case of _widening a type_.
c ? 2.0 : 34 // double