簡體   English   中英

如何獲取嵌套類型的所有類型的內部結構?

[英]How to get all types of the inner structures of a nested type?

我有一個功能波紋管,

public void park( List<List< List< Integer>>> l){ System.out.println("park"); }

當我嘗試使用 Method.getParameters() + Parameter.getParameterizedType() 時,我得到了

 java.util.List< java.util.List<java.util.List<java.lang.Integer>>>>

但是,我需要獲取嵌套結構內側的類型,例如java.util.List< java.util.List<>>Integer 當我得到它時,我使用 getAnnotationsByType 來獲取內部結構的所有注釋。

我曾想過使用 Parameter.getParameterizedType().toString() 來解析嵌套結構,但即使我這樣做了,我也不認為類型字符串可以轉換為 Type。

是否可以獲得嵌套結構的內部類型? 任何事情都值得贊賞。

您可以通過ParameterizedType接口獲取此信息。

例如:

final Type parameterType = method.getGenericParameterTypes()[0]; // List<List<List<Integer>>>

if (parameterType instancof ParameterizedType) {
    final Type nextDown // List<List<Integer>>
        = ((ParameterizedType) parameterType).getActualTypeArguments();
}

並不斷重復,直到它不是ParameterizedType

暫無
暫無

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

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