2017-06-19 33 views
-3

我正在制定一個工作流引擎,以幫助客戶在我們的產品上定義他們的工作流程。未知返回類型方法的Java約定

在這個工作流引擎中,我制定了一個條件去或不去下一步,但這些條件可能是一切。 就像比較任務的執行日期和元數據值,或將「狀態」與預定義的常量進行比較。 或者再次比較任務的執行時間和另一個任務的執行時間。

那麼所有這些元素將在定義中定義,將會有一個sourceDefinion和一個targetDefinition。

我在想實現,創建一個方法,它會根據定義返回一個值。 然後我可以比較這兩個返回的值。 (比較器較低,較大或相等)

我知道,唯一可以返回的類型是「Number」,「Date」和「String」。

因此,我返回一個對象,然後檢查實例之前進行比較。

我想知道它是否會更乾淨,只能使用String類型,並檢查它是否可以轉換爲數字或格式爲Date?

感謝

+0

它甚至應該做什麼? – Li357

+0

您正在使用泛型?請顯示一些代碼 – Jens

+1

完全取決於上下文。 – Nathan

回答

1

更好的方式來處理這種情況是聲明的幾個函數與每一位可能處理。所以一個函數將返回一個Date,另一個String等。但是當你不知道返回類型是什麼時,選擇Object。

+1

有時候這根本不可能,特別是如果你不知道,結果會是什麼。有時你不知道在編譯期間結果會是什麼,有時甚至在運行時也不會。 –

+0

當然,我的回答並不完整。 :) –