說我有以下功能:從正在返回的界面投射?它總是安全嗎?
public Set<String> giveUp()
{
Set<String> alreadyGuessed = guessed;
guessed = new LinkedSet<String>();
//fill Guessed with possible words
anag(currentWord, "");
//Remove ones already guessed
Iterator<String> alGuessIterator = alreadyGuessed.iterator();
while (!alGuessIterator.done())
{
guessed.remove(alGuessIterator.get());
alGuessIterator.advance();
}
return guessed;
}
當我調用此函數,並嘗試使用線它來存儲,如:
LinkedSet<String> notGuessed = (LinkedSet<String>)wordGame.giveUp();
這會不會永遠是安全的,無論內部函數實現的以上?換句話說,無法猜測是一個ArraySet,它仍然保持一個完全安全的演員?還是我誤解了界面被返回的一點,我只是應該有「Set notGuessed」以防止需要投射?
我的老師在關於課程的問題上毫無用處,如果我做了任何不安全的演員,我也會立刻給我一個0。
「我的老師在關於課堂的問題上毫無用處」 - 這有點粗魯。如果他讀到這個,你認爲會發生什麼? –