返回 null 值和空字符串之间的区别是什么?

8
假设您有一个名为“adminNo”的输入字段。当调用getParameter("adminNo")方法返回null值和返回空字符串""时,有什么区别?
3个回答

4
调用getParameter("adminNo")方法,如果参数adminNo存在但没有值,则返回空字符串,如果没有该参数,则返回null

2

根据JavaDoc:

返回请求参数值作为一个String,如果该参数不存在,则返回null

实际上这意味着:

  • 当返回值为null时,HTML表单中没有带有该参数名称的输入框。
  • 当值为空的String,则HTML表单中有带有该参数名称的输入框,但是没有设置任何值。

0
如果方法返回空字符串,它会返回一个对象(引用它),您可以使用它进行操作;当它返回null时,您无法使用它,因为没有东西可供操作。
String s = "";
s.isEmpty(); // returns true

String s = null;
s.isEmpty(); // throws null pointer exception.

当你想要编写更健壮的代码时,返回空字符串会更好,但如果你返回null,则空指针将帮助您找到逻辑上的某些错误。也许使用空字符串不合适,那么null值将帮助您找到不需要检查的地方。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接