Java修剪(): Cleanest way to check null string before trimming?

标签 java string spring-boot string-formatting trim

我使用 trim() 方法来修剪某些字符串字段中的前导和尾随空格。

siteRequest.getName().trim();

但是,当字符串字段为空时,它会按预期抛出异常。我可以在修剪之前检查值,如下所示:

siteRequest.getName() ? siteRequest.getName() : siteRequest.getName().trim();

但是,如果可能的话,我更喜欢一种更清洁的方法,以便有几个人已经遇到过这个问题。有更聪明的方法的建议吗?

最佳答案

我喜欢@Sebastiaan van den Broek 的想法,但不希望使用该库,因此查找它的implementation :

// Trim
//-----------------------------------------------------------------------
/**
 * <p>Removes control characters (char &lt;= 32) from both
 * ends of this String, handling {@code null} by returning
 * {@code null}.</p>
 *
 * <p>The String is trimmed using {@link String#trim()}.
 * Trim removes start and end characters &lt;= 32.
 * To strip whitespace use {@link #strip(String)}.</p>
 *
 * <p>To trim your choice of characters, use the
 * {@link #strip(String, String)} methods.</p>
 *
 * <pre>
 * StringUtils.trim(null)          = null
 * StringUtils.trim("")            = ""
 * StringUtils.trim("     ")       = ""
 * StringUtils.trim("abc")         = "abc"
 * StringUtils.trim("    abc    ") = "abc"
 * </pre>
 *
 * @param str  the String to be trimmed, may be null
 * @return the trimmed string, {@code null} if null String input
 */
public static String trim(final String str) {
    return str == null ? null : str.trim();
}

在我看来,没有更好的方法来实现它。使用 Optionals 不是一种选择。因此,确认了问题中原来的解决思路。

关于Java修剪(): Cleanest way to check null string before trimming?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72520878/

相关文章:

java - 使用移动 LTE/3G 访问本地 Wifi 网络(无需互联网)

java - java新手,想要创建一个循环来生成对象

c - 如何将文本文件的一部分复制到C中的字符串中?

C 中复制字符串和指针问题

Java:为什么我不能将 StringBuffer 的 String 转换完整输出到控制台?

java - Spring云服务器返回空配置

spring-boot - Kotlin Springboot 应用程序无法找到 Azure Application Insight 的连接字符串

java - 用于验证 Apple Pay 中的商家的 Tomcat java servlet

java - 在将大文件发送到多个客户端的同时提高性能

java - Spring Boot - Thymeleaf 和 Json 模板