首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式化“007,JAMES (Mr)”

格式化“007,JAMES (Mr)”
EN

Code Review用户
提问于 2015-11-04 16:50:59
回答 1查看 92关注 0票数 3

我需要在一个大数据集上调用这个函数。我需要它尽可能高效,但仍然是可读的。我可以通过使用不同的大写或空白检查函数来提高效率吗?

代码语言:javascript
复制
public static String nameFormat(String title, String firstname, String lastName) {

    if (StringUtils.isBlank(firstname) && StringUtils.isBlank(lastName)) {
        return "Unknown";
    }

    StringBuilder fullNameSB = new StringBuilder(lastName.trim().toUpperCase());
    fullNameSB.append(", ");
    fullNameSB.append(WordUtils.capitalizeFully(firstname.trim()));
    if (title != null) {
        fullNameSB.append(" ");
        // replace (mr.) with mr
        title = title.trim().replaceAll("\\.|\\)|\\(", "");
        fullNameSB.append("(");
        fullNameSB.append(WordUtils.capitalize(title));
        fullNameSB.append(")");
    }
    //Remove any double spaces that might be in a multipart first or surname
    return fullNameSB.toString().replaceAll("  ", "");

}
EN

回答 1

Code Review用户

发布于 2015-11-04 17:33:12

我假设WordUtilsStringUtils是Apache?如果是这样的话,我们将帮助您链接到他们的在线文档/源。

优化时要做的第一件事是确保优化的是正确的东西。您可能会在这个方法中找到减少一些运行时间的方法,但是如果这个方法只占总运行时间的1%,那么这并不是很好地利用您的努力。

让我印象深刻的是奇怪情况下的所有安全措施。我可以向您保证,您的replaceAll调用是最慢的事情。也许上游代码应该确保title的形式是正确的,字符串被裁剪,并且没有双空格。

票数 2
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/109788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档