簡體   English   中英

如何使用作為參數傳遞給方法的類類型來定義局部變量

[英]How to use class type passed as parameter to method to define local variables

我有一個按名稱空間划分的緩存。 我想使用類類型來確定要使用的緩存。 以下方法給出了我要完成的想法。 我寬松地使用“ cache ”一詞。 我對更正我的設計模式使其更感興趣。

public static DObject getFromCache(String key,Class<T extends DObject> type) {
  MyCache cache = getWithName(type.getName());
  // ......
  type.class value = (type.class) cache.get(key);
  // ......
}

其中DObject是命名接口。 如何解決,使type.class value = (type.class) cache.get(key)正常工作? 我知道這會對Scala開個玩笑,但我想使用Java。

T value = type.cast(cache.get(key));

(您可以很好地聲明T類型的變量,但是類型擦除意味着您不能轉換為T。幸運的是, Class#cast可以為您提供幫助。)

暫無
暫無

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

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