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

时间:2012-10-24 13:20:14

标签: java servlets

假设您有一个名为“adminNo”的输入字段。当你调用getParameter(“adminNo”)方法返回一个空值并且它返回一个空字符串“”时有什么区别?

3 个答案:

答案 0 :(得分:3)

如果名为getParameter("adminNo")的参数存在但没有值,则String的调用将返回空adminNo,如果没有此参数则返回null。< / p>

答案 1 :(得分:2)

来自JavaDoc

  

将请求参数的值返回为String,如果参数不存在,则返回null

这实际上意味着:

  • 当返回值为null时,HTML表单中没有包含参数名称的输入
  • 当值为空String时,HTML表单的输入中包含参数名称,但未设置任何值。

答案 2 :(得分:0)

如果方法返回空字符串,它返回一个Object(对它的引用),你可以使用它,当它返回null时,你就无法使用它,因为没有什么可以使用。

String s = "";
s.isEmpty(); // returns true

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

如果想要更强大的代码,返回空字符串会更好 但是如果你返回null,那么空指针将帮助你在逻辑中找到某种错误。可能使用空字符串是不合适的,那么null值将帮助您找到不需要检查的地方。