在 JAVA 中为对象编写多个或条件的最佳方法

Shr*_*shi 0 java

是否有更简单的执行||&&操作方法,也许使用 Java 8?因为我有一些其他的类OrderSummaryService,它有更多的领域。

@Getters
@Setters
class Orders
{
    String id;
    String status;
    Items items;
    String orderDate;
    String createdBy;
    String updatedBy;
    Double amount;
}

@Getters
@Setters
class Items
{
    String itemId;
    String itemName;
    String amount;
    String quantity;
}


class OrderSummaryService
{
    public static void main(String args[])
    {
        Orders orders = orderRepository.getOrderDetails();
        if (orders.getStatus() != null || orders.getCreatedBy() != null
            || orders.getUpdatedBy() != null || orders.getAmount() != null
            || orders.getOrderDate() != null && orders.getItems() != null)
        {
            OrderDetail details = orderRepository.updateRepository();
            ItemDetail itemDetail = itemRepository.updateItem();

            // some service code
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ken*_*sky 7

如果您要在多个地方使用相同的逻辑,我会在Orders类中添加一个方法,例如

public boolean isValidOrders() {
    return status != null || createdBy != null || updatedBy != null
            || amount != null || orderDate != null && items != null;
}
Run Code Online (Sandbox Code Playgroud)