我在 Java 中需要这样的东西(C# 示例)
class Program
{
static void Main(string[] args)
{
Method<String>();
}
static void Method<T>()
{
Type typeT = typeof(T);
Type typeString = typeof(String);
if (typeT == typeString)
{
Console.WriteLine("Is String");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有通用方法,需要在方法中检查类型 T。
protected <T> MyClass<T> myMethod(MyClass<T> myObj){
// if T is string do ..., else do ...
}
Run Code Online (Sandbox Code Playgroud)
您需要一个额外的 type 参数Class<T>,因为在类型擦除之后,通用信息将被擦除。但是,拥有一个Class<T>将允许您T在运行时访问(元)信息:
protected <T> MyClass<T> myMethod(MyClass<T> myObj, Class<T> clazz) {
if (clazz == String.class) { ... }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3038 次 |
| 最近记录: |