0

我在Java中有以下代码:

void foo(int a) { ... }

void bar() {
    Long x = 42;
    foo(x);  // Compile error: "Method foo(int)   
             // is not applicable for the argument (long)"
    foo((long) x); // Same as before
    foo((int) x); // Compile error: "Cannot cast Long to int"
    foo((int) (long) x);  // OK, but strange and confusing
}

有没有更好的办法?

4

2 回答 2

2

如果你有一个Long对象,你可以调用该intValue()方法来获取一个int.

于 2013-10-01T17:41:31.990 回答
0

将您的 x 声明为 long,而不是 Long,您将能够直接转换为 (int)

于 2013-10-01T17:42:58.653 回答