A byte[]
- это примитивный массив, поэтому он определенно не является Object[]
. Следовательно, он будет передан как один экземпляр Object
в ваш метод vararg.
Если, с другой стороны, вы передадите массив Byte[]
, он будет передан как несколько Object
аргументов. к методу vararg.
Конечно, вы можете убедиться в этом сами:
public static void sampleFunction(String name, Object... args) {
System.out.println (args.length);
}
sampleFunction("x", new byte[] {1,2,3});
sampleFunction("x", new Byte[] {1,2,3});
Первый вызов печатает 1
, а второй вызов печатает 3
.