Java 如何编写逻辑表达式';等于;MR";或;X"';?

Java 如何编写逻辑表达式';等于;MR";或;X"';?,java,Java,需要Java中if-else语句的帮助。当l.getPlot().equals(“MR”)或(“X”)且如果l.getZone().equals(“UP SPEC”)设置上限,则需要程序输出 有人能告诉我如何正确设置,这样当查询与MR或X匹配时,它将设置顶部上限 注意:如果我删除|(“X”),它适用于所有MR项目,但将所有(“X”)保留为空 if (l.getPlot().equals("MR")) || ("X"){ if (l.getZone().equals

需要Java中if-else语句的帮助。当
l.getPlot().equals(“MR”)
(“X”)
且如果
l.getZone().equals(“UP SPEC”)
设置上限,则需要程序输出

有人能告诉我如何正确设置,这样当查询与MR或X匹配时,它将设置顶部上限

注意:如果我删除
|(“X”)
,它适用于所有MR项目,但将所有
(“X”)
保留为空

if (l.getPlot().equals("MR")) || ("X"){
                if (l.getZone().equals("UP SPEC")) {
                    limit.setTopUpper(l.getLimit());
                } else if (l.getZone().equals("LO SPEC")) {
                    limit.setTopLower(l.getLimit());
                }
            }

这应该可以做到,因为它将逻辑“or”应用于两个条件,而不是一个条件和一个空字符串

if (l.getPlot().equals("MR")) || (l.getPlot().equals("X")){
这是一个改进的版本(归功于Tim Biegeleisen),它避免了空指针异常

if ("MR".equals(l.getPlot()) || "X".equals(l.getPlot()))

如果
equals()
的参数计算结果为NULL,则结果为干净的
false

使用以下命令:
如果(“MR”.equals(l.getPlot())| |“X”.equals(l.getPlot())…
每次都需要检查相等性。另外,将字符串文字放在第一位,以避免出现空指针异常Improved?不敢苟同。如果需要空检查,我更喜欢显式检查或使用
Objects.equals