Class
<
T
>
entityClass
=
(Class
<
T
>
) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[
0
];
看紅色的部分,就是得到當前類的父類( getGenericSuperclass() )的參數化類型( ParameterizedType )的實際類型( getActualTypeArguments()[ 0 ] )。這裡的[0]意思就是第一個參數。比如你的類是這樣的。
則[0]取的就是T的類型,如果[1]取的就是K的類型,以此類推。
不過說句實話,java的泛型實在不如.NET的好用,可能是本人水平太差吧,繼續學習!
看紅色的部分,就是得到當前類的父類( getGenericSuperclass() )的參數化類型( ParameterizedType )的實際類型( getActualTypeArguments()[ 0 ] )。這裡的[0]意思就是第一個參數。比如你的類是這樣的。
java 代码
- public class GenericA<T,K>{
- ....
- }
不過說句實話,java的泛型實在不如.NET的好用,可能是本人水平太差吧,繼續學習!