首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【续】Java变量门类识别的3种方式(补充)

2013-03-26 
【续】Java变量类型识别的3种方式(补充)package com.cxyapi.ooimport java.util.Dateimport com.cxyapi.ge

【续】Java变量类型识别的3种方式(补充)
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));}}

?

泛型方式类型识别工具:

package com.cxyapi.generics;import java.util.HashMap;import java.util.Map;/** 类型识别工具 泛型 * @author cxy @ www.cxyapi.com */public class TypeToolsGenerics{private static final Map<String,String> typeMap=new HashMap<String,String>();static{typeMap.put("java.lang.Byte", "byte");typeMap.put("java.lang.Short", "short");typeMap.put("java.lang.Integer", "int");typeMap.put("java.lang.Long", "long");typeMap.put("java.lang.Double", "double");typeMap.put("java.lang.Float", "float");typeMap.put("java.lang.Character", "char");typeMap.put("java.lang.Boolean", "boolean");}public final static <T> String getType(T t){if(t==null){return null;}String typeInfo=t.getClass().getName();return typeMap.containsKey(typeInfo)?typeMap.get(typeInfo):typeInfo; }}

?

声明:

1.原创文章,转载请标明并加本文连接。

2.文章反映个人愚见,如有异议欢迎讨论指正

3.更多的内容请看我的 ?个人博客(测试版)

public class test{}

热点排行