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,这对我很有用@只有巴努密码的答案是不受欢迎的。请解释一下你在做什么。