两个都return一个Object[],是调用该方法的Set实例的所有对象集合。两个的区别是,有参数的那个可以传入你要返回的对象类型数组,则它内部按照传入的对象类型构造对应的对象数组,
比如
Entry[] inObjects = new Entry[0];
Entry[] outObjects = (Entry[]) entry.toArray(inObjects);
是正确的,但是
Entry[] outObjects = (Entry[]) entry.toArray();
或者
Object[] inObjects = new Object[0];
Entry[] outObjects = (Entry[]) entry.toArray(inObjects);
会报cast的错误