當我運行這段代碼:爲什麼選擇Object而不是Object []與原始數組重載的方法?
class Test {
public static void main(String[] args) throws Exception {
someMethod(new int[] {1, 2, 3});
}
static void someMethod(Object obj) {
System.out.println("Single object given: " + obj);
}
static void someMethod(Object[] objs) {
System.out.println("Multiple objects given: " + Arrays.toString(objs));
}
}
我得到的輸出中,其中someMethod(Object[] objs)
選擇了int[]
:
Single object given: [[email protected]
我面臨着這樣的行爲試圖登錄一些消息,因爲這時候:
logger.log(Level.INFO, "param1: {0}, param2: {1}", new int[] {1, 2});
其中輸出:
...
INFO: param1: [[email protected], param2: {1}
那麼爲什麼選擇Object而不是Object []作爲原始數組的方法參數呢?
int []不是'Object []'。 –