Java变量类型识别的3种方式
来源:互联网 发布:单片机isp是什么意思 编辑:程序博客网 时间:2024/06/05 02:43
内容导览
- 反射方式,成员变量的类型判断
- isInstance用法
- 利用泛型识别类型
测试类:
- 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;
- }
- }
http://csjavapx.lofter.com
0 0
- Java变量类型识别的3种方式
- Java变量类型识别的3种方式
- JavaSE20_总结之Java变量类型识别的方式
- C++中RTTI动态类型识别、静态成员、变量的四种存储方式
- 无法识别enum类型的变量
- Java的变量类型
- java的变量类型
- 记住 Python 变量类型的三种方式
- 大数据Java-交换变量的3种方式
- Java变量交换的几种方式
- 理解引用类型变量的存储方式
- 结构体类型变量的声明方式
- Java引用变量的类型
- Java变量类型的比较
- Java 变量的类型转换
- java的七大变量类型
- java变量类型的讨论
- 在java中对byte类型的变量的运算方式
- 控制unity对象下所有子物体的显示状态
- fopen和fopen_s用法的比较
- 第11章 网络编程
- 第八周项目五(计数的模式匹配)
- MyComponent
- Java变量类型识别的3种方式
- Oracle 数据库安装要点总结
- 用EDIUS去掉视频中的水印的方法
- Git vs SVN
- Python类方法和静态方法
- xhprof安装和使用
- 第八周项目3-顺序串算法
- 第12章 并发编程
- 目录values下xml文件:TypeArray、attrs、styles、colors、strings、dimens