是否有一種簡單的方法來決定Java數學表達式的結果Java類?例如,我可以計算類似String + double的結果類,但是在那裏有什麼東西給運行時混合類的任何有效表達式的結果類?確定結果類別的表達式
背景:我需要這個,因爲我使用Java反射在運行時調用帶參數的方法。參數已從文本解析到Expression對象,其中Expression是我的類,用於處理表達式。表達式可以由其他表達式組成。因此,例如,我可以分析代碼,如:
double c = 2.2;
double d = 3.3;
long e = 4;
int f = 1000;
double a = 0;
double b = 0;
MyObject object = new MyObject();
object.getSomething(a, b, (c+d+e)/f);
我知道a和b類,因爲它們被定義變量,但需要第三個參數的等級來計算之前,我可以這樣做:
Method method = MyObject.class.getMethod("getSomething", double.class, double.class, ????);
爲什麼你不只是使用方法預期的類型?在任何情況下,結果都需要進行類型化。 – sujitv 2015-03-02 22:53:34
c,d,e和f的類型是什麼? Java語言規範中提供了數字類型升級規則。 – 2015-03-02 22:58:29
@sujitv可能有許多方法具有相同的名稱但參數不同。 – 2015-03-02 22:58:49