Java变量类型识别的3种方式

内容导览

反射方式,成员变量的类型判断
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变量类型识别的3种方式)