转化为 lambda 表达式.registerWriteHandler(new CellWriteHandler() { @Override public void afterCellDispose(CellWriteHandlerContext context) { // 判断是否是标题 if (BooleanUtils.isNotTrue(context.getHead())) { WriteCellData<?> cellData = context.getFirstCellData(); WriteCellStyle writeCellStyle = cellData.getOrCreateStyle(); writeCellStyle.setBorderBottom(BorderStyle.THIN); writeCellStyle.setBorderLeft(BorderStyle.THIN); writeCellStyle.setBorderRight(BorderStyle.THIN); writeCellStyle.setBorderTop(BorderStyle.THIN); writeCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex()); writeCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); } else if (BooleanUtils.isTrue(context.getHead())) { WriteCellData<?> cellData = context.getFirstCellData(); WriteCellStyle writeCellStyle = cellData.getOrCreateStyle(); writeCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); writeCellStyle.setShrinkToFit(true); writeCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); } } });
时间: 2024-02-10 09:10:26 浏览: 26
这段代码可以转换为以下的 lambda 表达式:
```
registerWriteHandler((CellWriteHandler) context -> {
if (BooleanUtils.isNotTrue(context.getHead())) {
WriteCellData<?> cellData = context.getFirstCellData();
WriteCellStyle writeCellStyle = cellData.getOrCreateStyle();
writeCellStyle.setBorderBottom(BorderStyle.THIN);
writeCellStyle.setBorderLeft(BorderStyle.THIN);
writeCellStyle.setBorderRight(BorderStyle.THIN);
writeCellStyle.setBorderTop(BorderStyle.THIN);
writeCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());
writeCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
} else if (BooleanUtils.isTrue(context.getHead())) {
WriteCellData<?> cellData = context.getFirstCellData();
WriteCellStyle writeCellStyle = cellData.getOrCreateStyle();
writeCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
writeCellStyle.setShrinkToFit(true);
writeCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
}
});
```
可以看到,lambda 表达式将原先的匿名内部类转化为了一个函数式接口的实现,代码更加简洁。