簡體   English   中英

將接口轉換為Java類

[英]Casting Interface to Class in Java

在Java中,有一個具有參數的方法,該參數是一個Interface。 使用這樣的方法,我可以強制轉換為具體的課程嗎?

我該如何計算這種演出的成本?

示例-將接口強制轉換為類:

public void convertToClass(IUser iu) {          
        User u = (User) iu;
}

就像在評論中說的那樣,實際上這不是性能問題,而是表達您的意圖:如果您需要特定的類,則應該要求它,而不是接口。 但是,通常情況是,您可以先需要一個接口,然后通過該接口進行操作,而完全不使用強制類型轉換。 這也是通常這樣做的方式。 您應該探索這種可能性。

至於實際的問題:強制轉換有一些開銷,但是在幾乎任何用例中都沒有關系。 開銷來自檢查是否可以進行強制轉換,如果不能,則引發異常。 如果您有興趣進一步討論鑄造的開銷,可以在此處閱讀有關它的更多信息。 如果您不想測量開銷,則應使用“ 如何在Java中編寫正確的微基准測試”中概述的方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM