java - 如何编写与正常流程分开的区域特定逻辑?
问题描述
我有一个类名 ProductValidation,并且在该类中,有一个名为 validate 的 eis 函数迭代产品列表。在检查区域的函数内部。lly,还有其他功能具有特定于区域的检查。我想将此区域特定的检查移至不同的类。如何即兴创作下面的代码?
class Product{
int id,
long price;
String region;
Product(int id, long price, String region){
this.id = id;
this.price = price;
this.region = region;
}
// getters for id,price and locId
}
Class ProductValidation{
public static validate(List<Product> list, long[] prices){
for(int i = 0; i < list.size();i++){
if(list.get(i).getRegion().equals("ASIA"){
long[i] = 0;
}
}
}
long[] price = {40, 90, 40};
List<Product> list = new ArrayList();
list.add(new Product(1,100, "ASIA"));
list.add(new Product(1,100, "AUS));
list.add(new Product(1,100, "EUROPE"));
// call ProductValidation.validate(list, price)
解决方案
您可以将该测试表示为BiPrerdicate
BiPredicate<Product, String> productRegionSearch = (p,s) -> p.getRegion().equals(s);
并将其调用为
if(productRegionSearch.test(list.get(i), "ASIA"))...
推荐阅读
- docker - Docker 将 .env 值传递给配置文件夹
- memory - 内存性能 lmbench bw_mem 并行度和预热设置
- flutter - 是否可以在颤动中知道调度完成事件或回调
- json - 使用包含 JSON 的富文本字段发布平台事件
- google-cloud-platform - Google Cloud API 从机器映像创建实例
- android - fdsan_error(char const*, ...) android 工作室 (kotlin)
- java - 在将字符串传递到日期时,它显示错误 java.sql.SQLException: ORA-00917: missing comma
- android - 在 Kotlin 上按下按钮时如何停止录制 AudioRecord
- java - 如何使用 OR 和使用 Cucumber 运行多个标签
- javascript - 从 url discord.js v13 播放音频