内容导览
反射方式,成员变量的类型判断
isInstance用法
利用泛型识别类型
测试类:
Java代码 收藏代码
package com.cxyapi.oo;
import java.util.Date;
import com.cxyapi.generics.TypeToolsGenerics;
/** 类型识别工具测试类
* @author cxy @ www.cxyapi.com
*/
public class TypeToolsTest2
{
private static int ii=0;
private static Date d=new Date();
public static void main(String[] args) throws Exception
{
//补充一:获得成员变量的类型
System.out.println(TypeToolsTest2.class.getDeclaredField("ii").getType());
System.out.println(TypeToolsTest2.class.getDeclaredField("d").getType());
System.out.println("----------------------");
//补充二:isInstance可判断出包装类型,从而得知基本类型
System.out.println(Integer.class.isInstance(ii));
System.out.println(Date.class.isInstance(d));
System.out.println("----------------------");
//补充三:泛型方式判断类型
System.out.println(TypeToolsGenerics.getType(ii));
System.out.println(TypeToolsGenerics.getType(2.2));
System.out.println(TypeToolsGenerics.getType(true));
System.out.println(TypeToolsGenerics.getType('a'));
System.out.println(TypeToolsGenerics.getType(d));
}
}
泛型方式类型识别工具:
Java代码 收藏代码
package com.cxyapi.generics;
import java.util.HashMap;
import java.util.Map;
/** 类型识别工具 泛型
* @author cxy @ www.cxyapi.com
*/
public class TypeToolsGenerics
{
private static final Map
本文介绍了一种使用Java反射API和泛型来识别对象类型的实用方法。通过实例演示了如何获取类成员变量的具体类型,如何使用isInstance判断对象是否为特定类型,以及如何利用泛型工具类来识别不同数据类型。

被折叠的 条评论
为什么被折叠?



