if(record):

if(record):
从dataset中取得当前记录或者某条记录之后,判断取得的这条记录是否为空,为空则返回false,不为空则返回true。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解你的需求是将循环中的 if 语句解耦,使用装饰者模式来实现,并将子类的执行结果保存在 List 中,最后统一调用 save 方法进行操作。那么我来给你讲解一下如何实现。 首先,我们需要定义一个超类,用于保存子类的执行结果: ```java public abstract class RecordDecorator { protected List<Record> records = new ArrayList<>(); public abstract void execute(Record record); public List<Record> getRecords() { return records; } } ``` 在该超类中,我们定义了一个 List 类型的成员变量 `records`,用于保存子类的执行结果。同时,我们定义了一个抽象方法 `execute`,用于子类的具体执行操作。 接着,我们需要定义两个子类,分别对应原来的两个 if 语句: ```java public class PTRRecordDecorator extends RecordDecorator { @Override public void execute(Record record) { if (record.getType().equalsIgnoreCase("PTR")) { records.add(record); } } } public class PRRRecordDecorator extends RecordDecorator { @Override public void execute(Record record) { if (record.getType().equalsIgnoreCase("PRR")) { records.add(record); } } } ``` 在这两个子类中,我们重写了超类的 `execute` 方法,对应原来的两个 if 语句,将符合条件的记录添加到成员变量 `records` 中。 最后,我们需要使用装饰者模式来解耦原来的循环中的 if 语句: ```java RecordDecorator ptrDecorator = new PTRRecordDecorator(); RecordDecorator prrDecorator = new PRRRecordDecorator(); for (Record record : container) { ptrDecorator.execute(record); prrDecorator.execute(record); } List<Record> ptrRecords = ptrDecorator.getRecords(); List<Record> prrRecords = prrDecorator.getRecords(); save(ptrRecords); save(prrRecords); ``` 在主函数中,我们创建了两个子类的实例,分别对应原来的两个 if 语句。然后在循环中,我们通过调用 `execute` 方法,将每个记录交给两个子类处理。最后,我们通过调用 `getRecords` 方法,获取子类处理后的结果,并分别调用 `save` 方法进行操作。 这样,我们就使用装饰者模式,将原来的循环中的 if 语句解耦,同时将子类的执行结果保存在 List 中,最后统一进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值