注册
1 | class Receiver implements MicroBus.BusEventReceiver { |
运行
bus.post("World|");
运行结果
Hello, World!
只需要明确一点即可,java方法的变长参数只是语法糖,其本质上还是将变长的实际参数 varargs 包装为一个数组。
所以
Object[] objs
与
Object... objs
被看作是相同的签名,在源码级别是不能同时存在的,因此,无法编译通过
包装方式(注意,下面的代码不是实际的实现,而是一个比喻说明):
1 | public void invoke(String...varargs){} |
1 | public void invoke(String...varargs){} |