table有7行输出,我如何修改它,使第6行显示三个提供程序中的任何一个。
我试过这样的方法:
template.getProvider2() != null || template.getProvider3() != null ||
template.getProvider1() != null ?
template.getProvider2().getBusinessUnit(): "" ||
template.getProvider3().getBusinessUnit(): "" ||
template.getProvider3().getBusinessUnit(): "",
这给了我一个StringBuilder不接受OR运算符的错误,我将感谢任何关于这方面的帮助。
谢谢
下面是我的代码:
public GetEmailTemplatesResponse getEmailTemplates() throws Exception {
StringBuilder stringBuilder = new StringBuilder();
String tableRow = "<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>";
Map<String, EmailTemplate> templates = templateRedisCacheReader.getTemplatesByCacheType(CacheType.EMAIL_TEMPLATE);
templates.values()
.forEach(template -> stringBuilder.append(String.format(tableRow,
template.getTemplateId(),
template.getProvider1() != null ? template.getProvider1().getId() : "",
template.getProvider2() != null ? template.getProvider2().getId() : "",
template.getProvider3() != null ? template.getProvider3().getId() : "",
template.getEnv(),
template.getProvider2() != null ? template.getProvider2().getBusinessUnit(): "", // <--
template.getPriority()))
);
我尝试检查是否所有提供程序都为空,如果其中一个不为空,则显示该提供程序的业务单位
1条答案
按热度按时间ego6inou1#
在SQL中有一个常用的函数,它返回第一个非空参数,称为“coalesce”,你可以编写一个与之等价的Java。