簡體   English   中英

如何獲得類似MyClass之類的東西 <String> Java中的.class`

[英]How to get something like `MyClass<String>.class` in java

我試圖在Ninjaframework中創建一個自定義ArgumentExtractor ,在其中我必須創建一個實現ninja.params.ArgumentExtractor<T>的類, ninja.params.ArgumentExtractor<T>具有方法public Class<T> getExtractedType()

import java.util.Optional;
class OptionalParamExtractor implements ArgumentExtractor<Optional<String>> {
    ...
    @Override
    public Class<Optional<String>> getExtractedType() {
        return Optional<String>.class; // Compiler don't let me do this.
    }
}

在此行return Optional<String>.class; ,出現語法錯誤。 在這種情況下,如何正確返回Class<Optional<String>>類型的對象? 我試過了

    @Override
    public Class<Optional<String>> getExtractedType() {
        return Optional.of("").getClass();
    }

但是沒有用,我得到一個錯誤Type mismatch: cannot convert from Class<capture#1-of ? extends Optional> to Class<Optional<String>> Type mismatch: cannot convert from Class<capture#1-of ? extends Optional> to Class<Optional<String>>

只需返回Optional.class。 類型參數<String>無論如何都無法刪除。 您永遠都無法在運行時得到那部分。

暫無
暫無

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

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