【问题标题】:Should 'null' be considered numeric? …alphanumeric?'null' 是否应该被视为数字? …字母数字?
【发布时间】:2015-01-16 22:11:58
【问题描述】:

我想这个问题不那么技术性,而是更具哲学性。

我正在编写一些 Java 类,它们充当可以从各种格式导入的数据容器,包括 JSON 和 SQL 结果集,这两种格式都可以包含空值。这些类共享两个方法,isNumeric()isAlphanumeric()

这些方法应该如何处理空值? 空值本质上是数字吗?它们是字母数字的吗?无论哪种方式,我至少可以提出合理的理由。我想我只是想听听社区的意见。

【问题讨论】:

  • null 根据定义是nothing
  • 它们都应该返回 false。

标签: java null numeric alphanumeric


【解决方案1】:

这描述了在 Oracle 中 null 是如何定义的—— http://www.dbasupport.com/forums/showthread.php?8666-What-is-the-data-type-of-NULL

【讨论】:

  • 这很有趣,因为 数据类型 变成了“字符”,但是 null 的字符 representation 是不可打印的特殊实体,因此既不是数字也不是字母数字。这似乎指向 false 作为这些方法的规范返回类型。
【解决方案2】:

Null 值既不是数字也不是字母数字 - 相反,它们没有值(和类型)。

【讨论】:

  • 这在概念上是正确的,但这些方法确实返回boolean,所以“两者都不是”不是一个选项。 ^_^
  • 您的意思是isNumericisAlphaNumeric? - 他们都应该为null返回false
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
  • 1970-01-01
  • 2014-11-01
  • 2015-08-01
  • 2015-04-07
  • 1970-01-01
相关资源
最近更新 更多