簡體   English   中英

Java 反射無論如何都要比較 Class<!--?--> 或鍵入 Class<t> ?</t>

[英]Java reflection anyway to compare Class<?> or Type to Class<T>?

Forgive me for asking such a question but I have been doing C# for the past couple years until very recently so I am a little rusty on type erasure generics in Java compared to the intuitive version of generics in C#.

我有這樣的情況:

public void doSomething(Class<T> classType) {
  for (Method method : classType.getMethods()) {
    for (Class<?> parameterClass : method.getParameterTypes()) {
      // How do I compare parameterClass to classType or to String.class?
    }
  }
}

由於 parameterClass 是 Class 類型,那么它是未知的 class 類型,因此無法在運行時確定? 他們是否存在進行這種比較的方法? 我再次道歉,我多年來沒有使用過 Java generics 並且我一直在閱讀它並且仍然感到困惑。

嘗試使用method.getGenericParameterTypes()而不是非泛型getParameterTypes()

暫無
暫無

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

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