【发布时间】:2010-11-01 11:40:07
【问题描述】:
我正在使用石英进行调度。
TriggerUtils.getDateOf(0,40,18,09,06);
它接受 5 个参数。 (秒、分钟、小时、daysOfMonth、月)。
当我将第四个参数作为“09”传递时。 Eclipse 给我错误“int 类型的字面八进制 09(数字 9)超出范围”。
但是当我将第四个参数传递为“9”而不是“09”时,它可以工作。
谁能解释一下这个错误?
【问题讨论】:
-
你知道整数 06 和 6 是一回事吧?
-
@matt:他将日期传递给函数,但没有意识到前面的 0 会将其转换为八进制数。
-
如果我能通过 25,那为什么不能 09。
-
我想我们都被那个咬了一两次。我认为在 30 年的编程中,我故意使用过一次八进制(以及无数次二进制和十六进制)。 Octal 的偏爱状态确实是一种倒退。
-
@Shashi: 25 是一个数字。 0 之前的数字表示您要使用八进制,因此您将进入不同的编号系统。仅适用于 0,因为您通常会删除 0。