Java中的其他任何地方,索引的任何内容都从0开始。这里有变化的原因还是这个设计不好?

有帮助吗?

解决方案

历史上,数据库对绑定参数使用了基于1的索引。这可能反映了集合论和数学中关系数据库的起源,它们以1开头索引元素,并使用零来表示空集或空集。

在shell脚本和正则表达式中,零索引通常意味着“特殊”的东西。例如,在shell脚本的情况下,第0个“参数”是实际上是被调用的命令。

JDBC的选择是故意的,但最终可能会导致比它解决的更多混乱和困难。

其他提示

这是原始语言设计师清除弱者的情节的一部分。在原始规范中,数组从-1开始编号,而包含1个元素的列表返回长度= 0。

今天,只有java Calendar API仍然来自这个恶魔般的情节。

就个人而言,我会将其归结为糟糕的设计。

我知道JDBC和ODBC都基于X / Open Call Level Interface。因此,它是Java之前的历史记录,就像基于0的月份数字一样。

可能是JDBC在ODBC上建模。

可能更人性化?此外,Java正则表达式Matcher组以1作为第一个匹配组开始。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top