null和StringUtils.isBlank()之间的差异

时间:2015-06-16 09:13:16

标签: java null

我想检查字符串是否为空,我想知道以下内容之间的差异以及哪种情况更好以及在哪种情况下。

特别是因为我使用" isNotBlank":"我无法转换为java.lang.String"。

this.text.getData() != null <--- works perfectly fine.
StringUtils.isNotBlank((String)this.text.getData()) <- doesn't work.

如果&#34; null&#34;不是最好的解决方案,我可以使用什么?

2 个答案:

答案 0 :(得分:4)

如果您希望任何非null的数据都是String this.text.getData() != null可能会有效,但您的代码会更晚 on有一个类强制转换问题以及强制转换为String的事实 不工作表明存在更深层次的问题。

如果“数据”可以。那么,某种类型的某种对象 StringUtils根本不是正确的解决方案和空检查 是正确的做法!

答案 1 :(得分:3)

isNotBlank()检查字符串是否为空(“”),不是空且不仅仅是空格。

  

public static boolean isNotBlank(String str)
  检查String是否为空(“”),而不是null,而不仅仅是空格。

请参阅文档isNotBlank

!= null仅检查对象是否为null

如果我使用“isNotBlank”“无法转换为java.lang.String”,我会收到此错误。

那是因为你的getData()可能会返回String之外的其他内容,并且无法将其转换为String。

你需要知道你可以用!= null对任何类型的对象做isNotBlank()它应该是一个字符串。