正如我們所知,C#提供了一個AS關鍵字,該關鍵字自動執行檢查Object是否爲類型,如果是,則將其轉換爲所需的類型其他給出一個null。Java中是否有任何關鍵字與C#中的'AS'關鍵字相似?
public class User
{
}
....
Object obj = someObj;
User user = obj As User;
...
這裏, 的對象物OBJ的類型可以是用戶或一些其他類型的。 用戶將獲取User類型的對象或null。 這是因爲C#的As關鍵字首先執行檢查,並且如果可能,則執行將對象強制轉換爲結果類型。
那麼Java中有沒有關鍵字等同於C#的AS關鍵字呢?
不錯的問題,雖然我認爲「as」是一個真正可怕的模式 - 我寧願使用一個演員陣容,並得到一個例外(即一個嘈雜的失敗,你可以修復),而不是一個沉默的轉換爲null,可以咬你一些隨機點在未來.....,如果你真的不知道演員是否會工作或沒有,你仍然必須在以後測試null,所以你甚至沒有保存任何輸入! – mikera 2011-06-02 20:28:19
你仍然可以像Java的鑄造一樣投射它。 「as」是開發者慎重的選擇,他說:「我不希望這種轉換異常,如果它不是我想要的空類型」 – Hounshell 2011-11-23 21:12:22