我有一段代碼如下 private Product createProduct(ProductParmas params){ Product product = repository.getProduct(id) ProductBuilder.Builder builder = new ProductBuilder.Builder(); // this is a product builder if(product == null){ builder.location("abc").quantity(5).price(10) if(parmas.getAvaiability() != null){ builder.availability(parmas.getAvaiability()) } } // I also want to set Availability on obj product, but there are no setters so I have to create an instance of ProductBuilder, copy values from product and also set availability. Is there a cleaner way to come both if product is null or not null and set availability field?}我還想在 obj 產品上設置可用性,但沒有設置器,所以我必須創建 ProductBuilder 的實例,從產品復制值并設置可用性。如果產品為空或不為空并設置可用性字段,是否有更簡潔的方法來執行此操作?
1 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
如果您在該字段上沒有設置器,一個好的方法是在您的構建器中添加一個方法,該方法將“產品”作為參數。
然后你可以這樣做:
Product product = repository.getProduct(id)
ProductBuilder.Builder builder = new ProductBuilder.Builder()
if(product == null){
builder.location("abc").quantity(5).price(10)
if(parmas.getAvaiability() != null){
builder.availability(parmas.getAvaiability())
}
} else {
builder.withProduct(product)
.availability(params.getAvailability())
}
添加回答
舉報
0/150
提交
取消