8

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

4

3 回答 3

4

如果调用的参数存在但没有值,则调用getParameter("adminNo")返回空,如果没有这样的参数,则返回。StringadminNonull

于 2012-10-24T13:21:45.677 回答
2

JavaDoc

返回请求参数的值作为 a String,或者null如果参数不存在。

这实际上意味着:

  • 当返回值为nullHTML 表单时,没有包含参数名称的输入
  • 当值为空时String,HTML 表单确实有一个带有参数名称的输入,但没有设置任何值。
于 2012-10-24T13:25:41.113 回答
0

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

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

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

当您想要拥有更健壮的代码时,返回一个空字符串会更好,但如果您返回 null,那么空指针将帮助您找到逻辑中的某种错误。可能不适合使用空字符串,然后 null 值将帮助您找到不需要检查的地方。

于 2012-10-24T13:25:07.053 回答