Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 简化if语句:if(legendTitle!=null&&legendTitle.equals(“我的房子”))_Java_Optimization_Intellij 14_Code Cleanup - Fatal编程技术网

Java 简化if语句:if(legendTitle!=null&&legendTitle.equals(“我的房子”))

Java 简化if语句:if(legendTitle!=null&&legendTitle.equals(“我的房子”)),java,optimization,intellij-14,code-cleanup,Java,Optimization,Intellij 14,Code Cleanup,我试图提交我的代码,但IntelliJ中的代码分析显示:“if”语句可以简化为以下行: if (legendTitle != null && legendTitle.equals("My house")) legendTitle是一个字符串,我写的legendTitle!=null,因为null字符串中的.equals是NullPointerException如果My house.equalslegendTitle。My house永远不能为null,因此在

我试图提交我的代码,但IntelliJ中的代码分析显示:“if”语句可以简化为以下行:

if (legendTitle != null && legendTitle.equals("My house"))

legendTitle是一个字符串,我写的legendTitle!=null,因为null字符串中的.equals是NullPointerException

如果My house.equalslegendTitle。My house永远不能为null,因此在这种情况下,您不会得到NullPointerException。

如果My house.equalslegendTitle为空,您可以编写。我的房子永远不能为空,所以在这种情况下你不会得到NullPointerException。

你可以使用if Objects.equalslegendTitle,我的房子。Objects类将正确处理空值。

可以使用if Objects.equalslegendTitle,My house。Objects类将正确处理空值。

您可以这样做:如果My house.equalsLegendTitle这么说的话,我可能就不会麻烦了——这条线很好。至少这样,它清楚地传达了已经考虑过的null情况。如果LealEdTITE是某个方法调用的结果,您可以考虑将方法调用的返回类型更改为可选的,并使用适当的方法,但是如果它是本地的,这可能是不必要的开销。同样相关的是:您甚至想支持legendTitle为null的情况吗?因为如果你认为这是代码中的一个bug,你实际上应该触发异常,快速失败。否则你不会注意到这个错误。但是,在这种情况下,首选对象。requireNonNulllegendTitle;,更具表现力。你可以更容易地这样做:如果我的房子。EqualsLegendTitle这么说的话,我可能就不会麻烦了——这句话很好。至少这样,它清楚地传达了已经考虑过的null情况。如果LealEdTITE是某个方法调用的结果,您可以考虑将方法调用的返回类型更改为可选的,并使用适当的方法,但是如果它是本地的,这可能是不必要的开销。同样相关的是:您甚至想支持legendTitle为null的情况吗?因为如果你认为这是代码中的一个bug,你实际上应该触发异常,快速失败。否则你不会注意到这个错误。但是,在这种情况下,首选对象。requireNonNulllegendTitle;,更有表现力。