如果一个方法的返回类型是 int 并且如果它返回的是 -1 它实际上是什么意思?
public int handle_get_multi_leg_net_quote(Message mmsg) throws Exception {
if (null != t) {
return 1;
}
return -1;
}
Java 中的int
eger 是有符号的,因此可以返回一个负数。在 Java 中,这通常用于需要返回整数但还需要返回错误指示的方法。例如,当String#indexOf(int ch)
没有找到某个字符时,它返回-1
表示它没有找到。
但是,在您的特定方法中,我会说返回 aboolean
或抛出Exception
when t
is会更合适null
。根据你的例子很难说。
int
: int 数据类型是一个 32 位有符号二进制补码整数。它的最小值为 -2,147,483,648,最大值为 2,147,483,647(含)。
我认为这是用java编写的c代码。我认为这应该抛出一个异常并利用 Java 的异常处理框架。我认为这段代码正在传回 -1 以指示错误。
我认为应该发生的事情是
public int handleGetMultiLegNetQuote(Message mmsg) throws Exception {
if (null == t) {
throws new IllegalArugmentExeption("null t");
}
return 1;
}
我还将方法名称更改为 java 标准的 camelCase。没有更多信息,很难看到正在发生的事情。特别是当您检查未传递给方法的 t 时。
虽然我可能完全错了,它可能只是传回 -1 ,它在你的代码中有一些上下文。
它似乎是用另一种语言编写的代码,也许它应该是布尔值甚至是另一种类型的数据。您可以做的一件事是在将其适应 Java 之前了解它在另一种语言中的作用。
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