Java 三元运算符和if-else的不同结果 1.HastinmePeriodExtradays=externalSystemConfigsDTO==null?true:externalSystemConfigsDTO.HastineMePeriodExtradays; 2.ifexternalSystemConfigsDTO==null{ HastinmePeriodExtradays=真; }否则{ HastinamePeriodExtradays=外部系统配置SDTO.HastinamePeriodExtradays; }

Java 三元运算符和if-else的不同结果 1.HastinmePeriodExtradays=externalSystemConfigsDTO==null?true:externalSystemConfigsDTO.HastineMePeriodExtradays; 2.ifexternalSystemConfigsDTO==null{ HastinmePeriodExtradays=真; }否则{ HastinamePeriodExtradays=外部系统配置SDTO.HastinamePeriodExtradays; },java,Java,1子句不会以null指针的形式传递UT,但第2个子句会传递UT。HastinmePeriodExtradays返回什么?布尔基元,还是布尔对象?这两天也一样吗 三元组带来了一个看不见的自动装箱,以确保双方都是同一类型,这可能解释了这一点 例如,如果它返回一个布尔值,并且变量是布尔值,那么在if中,即使返回值为null,它也可以正常工作 但在您刚出生时,它可能会将两者都强制转换为布尔基元-如果返回值为null,您将得到一个NullPointerException,如您所见 进一步信息-你所说的UT

1子句不会以null指针的形式传递UT,但第2个子句会传递UT。

HastinmePeriodExtradays返回什么?布尔基元,还是布尔对象?这两天也一样吗

三元组带来了一个看不见的自动装箱,以确保双方都是同一类型,这可能解释了这一点

例如,如果它返回一个布尔值,并且变量是布尔值,那么在if中,即使返回值为null,它也可以正常工作

但在您刚出生时,它可能会将两者都强制转换为布尔基元-如果返回值为null,您将得到一个NullPointerException,如您所见


进一步信息-

你所说的UT是什么意思?我怀疑UT是指单元测试。对吗?你用的是什么单位测试仪?是的,这似乎就是解释