簡體   English   中英

Java類型參數化的Class參數

[英]Java type parameterized Class argument

JPA具有以下簽名的方法:

<T> CriteriaQuery<T> createQuery(Class<T> resultClass);

當我的resultClass類型本身是參數化類型時,如何調用此方法?

例如:

public class ResultDto<T> {
...
}

我嘗試了以下操作,但沒有成功:

createQuery(ResultDto<String>.class);

沒有任何Class實例可用於泛型的任何特定實例化(例如ResultDto<String>ResultDto<Integer>ResultDto<MyObject>等)。

無論該類是否通用,都始終只有一個Class實例代表該類的原始版本。 在您的情況下,它是ResultDto.class

您可以使用createQuery(ResultDto.class)

原因是當您要創建ResultDto對象時,將始終使用類型參數來創建它,例如ResultDTo<String> rs = new ResultDTo<String>()因此,該類型參數將在<T> CriteriaQuery<T> createQuery(Class<T> resultClass);考慮<T> CriteriaQuery<T> createQuery(Class<T> resultClass);

暫無
暫無

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

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