Java 如何向stringbuilder添加另一个字符串?
我对这部分代码理解不正确。我知道它从数据库中构建了一个字符串。我想这只是Java 如何向stringbuilder添加另一个字符串?,java,stringbuilder,Java,Stringbuilder,我对这部分代码理解不正确。我知道它从数据库中构建了一个字符串。我想这只是标题: private String createSearchFieldContent(Report report) { return createSearchFieldContent(report.getTitle(), report.getDescription()); } private String createSearchFieldContent(OverrideableStringValue title,
标题
:
private String createSearchFieldContent(Report report) {
return createSearchFieldContent(report.getTitle(), report.getDescription());
}
private String createSearchFieldContent(OverrideableStringValue title,
OverrideableStringValue description) {
StringBuilder builder = new StringBuilder(getValue(title));
if (StringUtils.isNotBlank(getValue(description))) {
builder.append(" ").append(getValue(description));
}
String searchTerm = StringUtils.replaceAll(builder.toString(), "\n", " ");
return unaccent(searchTerm);
}
我还有一个值要添加到searchTerm
。它存储在report.getOwner()
中。我如何可能构建一个新的搜索词
,其中包括标题
、说明
和所有者
谢谢 请尝试以下代码:
private String createSearchFieldContent(Report report) {
return createSearchFieldContent(report.getTitle(), report.getDescription(), report.getOwner());
}
private String createSearchFieldContent(OverrideableStringValue title,
OverrideableStringValue description, OverrideableStringValue owner) {
StringBuilder builder = new StringBuilder(getValue(title));
if (StringUtils.isNotBlank(getValue(description))) {
builder.append(" ").append(getValue(description));
}
if (StringUtils.isNotBlank(getValue(owner))) {
builder.append(" ").append(getValue(owner));
}
String searchTerm = StringUtils.replaceAll(builder.toString(), "\n", " ");
return unaccent(searchTerm);
}
在上面的代码中,我们像其他两个一样将owner属性传递给
createSearchFieldContent
方法,然后像description一样将owner属性附加到string builder对象。您可以为searchTerm分配新数据:
searchTerm = StringUtils.replaceAll(builder.toString(), "\n", " ")
变成
String part2 = "something you want to add";
searchTerm = searchTerm + part2;
也可以使用StringBuilder将新数据附加到
builder.append("new data")
builder.append("newer data")
这将添加到StringBuilder中,StringBuilder包含在searchTerm的字符串值中。我认为这只是标题-如果不为空,还将附加
说明。在方法中添加一个新参数,并遵循与说明
@ScaryWombat thx相同的逻辑,以澄清为什么不遵循与说明
相同的逻辑?这也是一个不错的选择,我想这取决于个人偏好。如果存在NullPointerException,您确实应该像在描述逻辑中那样检查值或Null。Thx,这对我很有用@只有巴努密码的答案是不受欢迎的。请解释一下你在做什么。