资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java中如何使用三元表达式

这篇文章给大家介绍Java中如何使用三元表达式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联建站是一家专注于成都网站建设、做网站与策划设计,吉木萨尔网站建设哪家好?创新互联建站做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:吉木萨尔等地区。吉木萨尔做网站价格咨询:13518219792

代码

代码示意如下:

Integer itemVO = null;
Integer globleLatenessToleranceUseAlternate = null;
Integer latenessToleranceUseAlternate =
    (itemVO == null ? globleLatenessToleranceUseAlternate : itemVO.intValue());

从上面代码可以看出:当itemVO不为空时,就取itemVO的值;否则,就取globleLatenessToleranceUseAlternate的值。

原因

但问题就在globleLatenessToleranceUseAlternate。当itemVO为空时,如果取globleLatenessToleranceUseAlternate,并不会得到值null, 而是Java会把globleLatenessToleranceUseAlternate进行一个自动开箱拆箱处理。简言之,取得是 globleLatenessToleranceUseAlternate.intValue(), 此时,因为globleLatenessToleranceUseAlternate 本身是 null,因此 globleLatenessToleranceUseAlternate.intValue() 导致了空指针因此。

解法

修改如下解决:

Integer itemVO = null;
Integer globleLatenessToleranceUseAlternate = null;
Integer latenessToleranceUseAlternate;

if (itemVO != null) {
    latenessToleranceUseAlternate = itemVO.intValue();
} else {
    latenessToleranceUseAlternate = globleLatenessToleranceUseAlternate;
}

值得注意的是,在新版的JDK和Eclipse中,会做出友好的提示,从而能够有效规避上述问题。提示如下:

Null pointer access: This expression of type Integer is null but requires auto-unboxing

关于Java中如何使用三元表达式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站栏目:Java中如何使用三元表达式
本文URL:http://cdkjz.cn/article/jedipc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220