Просто для обзора, может кто-то быстро объяснить, что мешает этому работать (при компиляции):
private HashSet Data;
...
public DataObject[] getDataObjects( )
{
return (DataObject[]) Data.toArray();
}
... и что делает это так, как это работает:
public DataObject[] getDataObjects( )
{
return (DataObject[]) Data.toArray( new DataObject[ Data.size() ] );
}
Я не понимаю, как работает механизм кастинга (или что бы это ни было).