编程语言
首页 > 编程语言> > java – 是否有一个不被视为空格的隐形字符?

java – 是否有一个不被视为空格的隐形字符?

作者:互联网

我正在使用现有框架,如果满足某些条件,我必须将某个属性设置为空白.不幸的是,框架不允许仅为属性值设置空格.具体来说,它做了

!(org.apache.commons.lang.StringUtils.isBlank(value))检查值

有可能以某种方式绕过这个并设置一个看起来空白/不可见的值但不被视为空白的值吗?

我现在正在使用短划线“ – ”,但我认为知道这是否有可能会很有趣.

解决方法:

尝试Unicode Character ‘ZERO WIDTH SPACE’ (U+200B).根据WP: Whitespace#Unicode,它不是空白

StringUtils.isBlank的代码不会打扰它:

public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
          return true;
     }
for (int i = 0; i < strLen; i++) {
     if ((Character.isWhitespace(str.charAt(i)) == false)) {
                   return false;
                }
         }
 return true;
  }

标签:java,whitespace
来源: https://codeday.me/bug/20191004/1854252.html