2017-06-19 76 views
-3

我正在制定一个工作流引擎,以帮助客户在我们的产品上定义他们的工作流程。未知返回类型方法的Java约定

在这个工作流引擎中,我制定了一个条件去或不去下一步,但这些条件可能是一切。 就像比较任务的执行日期和元数据值,或将“状态”与预定义的常量进行比较。 或者再次比较任务的执行时间和另一个任务的执行时间。

那么所有这些元素将在定义中定义,将会有一个sourceDefinion和一个targetDefinition。

我在想实现,创建一个方法,它会根据定义返回一个值。 然后我可以比较这两个返回的值。 (比较器较低,较大或相等)

我知道,唯一可以返回的类型是“Number”,“Date”和“String”。

因此,我返回一个对象,然后检查实例之前进行比较。

我想知道它是否会更干净,只能使用String类型,并检查它是否可以转换为数字或格式为Date?

感谢

+0

它甚至应该做什么? – Li357

+0

您正在使用泛型?请显示一些代码 – Jens

+1

完全取决于上下文。 – Nathan

回答

1

更好的方式来处理这种情况是声明的几个函数与每一位可能处理。所以一个函数将返回一个Date,另一个String等。但是当你不知道返回类型是什么时,选择Object。

+1

有时候这根本不可能,特别是如果你不知道,结果会是什么。有时你不知道在编译期间结果会是什么,有时甚至在运行时也不会。 –

+0

当然,我的回答并不完整。 :) –