如果一個方法的返回類型是int,並且它返回-1它實際上意味着什麼?Java返回類型
public int handle_get_multi_leg_net_quote(Message mmsg) throws Exception {
if (null != t) {
return 1;
}
return -1;
}
如果一個方法的返回類型是int,並且它返回-1它實際上意味着什麼?Java返回類型
public int handle_get_multi_leg_net_quote(Message mmsg) throws Exception {
if (null != t) {
return 1;
}
return -1;
}
它似乎是用另一種語言編寫的代碼,也許它應該是一個布爾值或甚至另一種類型的數據。你可以做的一件事是在將它適配到Java之前,理解它在其他語言中的作用。
是的,這就是我發佈這個問題的原因......即使它是一個愚蠢而且太基本的java問題。 – Sandy
的int
埃格爾在Java是簽署,因此它的確定,返回一個負數。在Java中,這通常用於需要返回整數的方法,但也需要返回錯誤的指示。例如,當String#indexOf(int ch)
未找到某個字符時,它將返回-1
以指示未找到該字符。
然而,在特定的方法,我會說這將會是更適合返回boolean
來替代,或者拋出一個Exception
時t
是null
。根據你的例子很難說。
int
:int數據類型是一個32位簽署二的補碼整數。其 的最小值爲-2,147,483,648,最大值爲 2,147,483,647(含)。
是當然它的一個基本的Java問題......但發佈背後的想法是要知道......是否代碼是基於一些其他語言......因爲在Java中我們有例外......那麼最新需要在特定情況下拋出-1 ... ... – Sandy
@ user1367670:當然,歡迎您在這裏提問。在其他語言中,如C,不直接支持異常,通常返回'-1'來表示錯誤。在Java中,「異常」比較常見,就像你說的那樣。在這種情況下,返回'1'或'-1'沒什麼意義。 –
我認爲這是用java編寫的c代碼。我認爲這應該拋出一個異常並利用Java的異常處理框架。我會認爲這個代碼傳回-1來表示錯誤。
應該發生什麼,我認爲是
public int handleGetMultiLegNetQuote(Message mmsg) throws Exception {
if (null == t) {
throws new IllegalArugmentExeption("null t");
}
return 1;
}
我也改變了方法名是駝峯這是Java標準。沒有更多的信息,很難看到發生了什麼。特別當你檢查沒有傳入方法的時候。
雖然我可能是完全錯誤的,它可能只是傳回-1,它在代碼中有一些上下文。
int是Java中的32位。但是,意識到這些位中只有31個實際包含該數字是很重要的。例如,Integer.MAX_VALUE返回2^31 - 1,而不是2^32 - 1.最高有效位(最左邊的一個)是一個「符號」位。它會告訴你數字是正數還是負數:0表示這是一個正數,1表示這是一個負數。
所以結論是
-1是整數。
詳見鏈接:
http://radio.javaranch.com/corey/2004/04/12/1081786778000.html
'-1'是*整數*。 – adatapost
是的,當然它的一個基本的Java問題......但發佈背後的想法是要知道......是否代碼是基於一些其他語言......因爲在Java中我們有例外......那麼最新需要在特定方法中拋出-1 ... – Sandy
這完全取決於具體方法的設計意圖。 Java中沒有像'throw -1'這樣的東西。 – EJP