变量类型识别有3种方法:
- 通过反射拿到变量的类型
- instanceof关键字判断
- 通过java的多态(方法重载)来DIY类型识别
具体看例子吧,尤其第三种方式 有一个自定义的TypeTools,我觉得很实用。希望大家喜欢~
package com.cxyapi.oo; /** 类型识别工具测试类 * @author cxy @ www.cxyapi.com */ public class TypeToolsTest { public static void main(String[] args) { int i=0; TypeObject to=new TypeObject(); //1.反射 System.out.println("to的类型:"+to.getClass().getSimpleName()); System.out.println(int.class.getSimpleName()); System.out.println(Integer.class.getSimpleName()); //但是对于一个不确定类型的基本数据类型变量我们没法用反射来获取其类型。 System.out.println("----------------------"); //2.instanceof if(to instanceof TypeObject){ System.out.println("to是TypeObject类型的");} //但是这种办法貌似也没法确定基本数据类型 System.out.println("----------------------"); //以上两种方式对于对象,引用类型的都很好用,但是对基本数据类型就不那么好用了。 //3.通过多态(方法的重载) System.out.println("i是:"+TypeTools.getType(i)); System.out.println("to是:"+TypeTools.getType(to)); System.out.println("\"cxyapi\"是:"+TypeTools.getType("www.cxyapi.com")); //大家可以看出来 最后一种方式使用多态的方式达到了检测类型(基本类型和引用类型)的目的 //它除了弥补其他两种方式不能检测基本数据类型的不足在外,还能自己DIY类型信息 } } //定义一个类,为了演示引用类型的类型检测 class TypeObject{}
自定义的类型识别工具:
package com.cxyapi.oo; import java.util.HashMap; import java.util.Map; /** 类型识别工具 * @author cxy @ www.cxyapi.com */ public class TypeTools { //获得类型 public static Map<String,String> getType(Object o) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", o.getClass().getSimpleName()); typeInfo.put("描述", "引用类型"); return typeInfo; } public static Map<String,String> getType(int i) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", "int"); typeInfo.put("描述", "整形"); return typeInfo; } public static Map<String,String> getType(long l) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", "long"); typeInfo.put("描述", "长整型"); return typeInfo; } public static Map<String,String> getType(boolean b) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", "boolean"); typeInfo.put("描述", "布尔类型"); return typeInfo; } public static Map<String,String> getType(char b) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", "char"); typeInfo.put("描述", "字符"); return typeInfo; } public static Map<String,String> getType(float f) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", "float"); typeInfo.put("描述", "单精度浮点型"); return typeInfo; } public static Map<String,String> getType(double d) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", "double"); typeInfo.put("描述", "双精度浮点型"); return typeInfo; } public static Map<String,String> getType(String s) { Map<String,String> typeInfo=new HashMap<String,String>(); typeInfo.put("类型", "String"); typeInfo.put("描述", "字符串类型"); return typeInfo; } }
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
3.更多的内容请看我的 个人博客(测试版)
相关推荐
利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据...
java实现人脸识别登录,人脸识别是将摄像头捕捉到的人脸流媒体数据和数据库查询出来的base64字符数据上传到云服务器进行系统比对 百度云API
根据OFD文件打包规范编写的OFD电子发票关键信息识别与读取。整个类无第三方引用包,使用纯dom编写,使用方便稳定。程序可识别出电子发票上的发票代码、发票号码、合计税额、合计金额、开票日期等信息,且读取后不...
国内第一个绝对高识别率,高效率的Java 验证码识别引擎,推荐使用于自动发贴机、数据采集系统的图片验证码自动识别场合!使用方法:下载解压后,导入Eclipse或MyEclipse中,然后在c:盘下放置一张验证码图片(如:...
基于Java的贝叶斯图片识别并分类的算法,将图片读入后二值化,然后利用贝叶斯算法求在X发生的条件下那个类别发生的概率最大,然后进行分类
JAVA中SQLlite数据库BLOB数据类型的存取.docx
JAVA一,二维码图片解析识别为数据
要用MATLAB分析数据,里面有MATLAB命令。先分离,写入数据后再用MATLAB分析数据,填入w和b就可以切割图片了,最后就是识别图片了。可以识别0~9
Java调用虹软人脸识别是一种非常实用的技术,可以应用于很多领域。例如,在安全领域,Java调用虹软人脸识别可以作为门禁系统的一部分,识别员工的面孔并授权访问权限。在金融领域,Java调用虹软人脸识别可以用于身份...
这是大二初学java时写的一个手写识别小软件。 这里包含了整个程序的源代码,《概要设计说明书》,javadoc 和 UML类图。 Version: 1.0 压缩包中包含了: 1.任务综合报告:概要设计说明书.docx 2.程序源代码文件:...
指向JDK安装后的根目录,如“ C:\Program files\Java\jdk1.8.0_20”,Eclipse、NetBeans等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。 Path 环境变量 指向Java命令程序所在目录,设置Path后,操作系统...
右键项目--》Java Build Path--->Libraries---->点开 JRE System Library[...]---》选中Access rules defined...----》edit----》Add--->选Accessible--->填** 2、 调注册接口 报 {"id":0,"error":{"error_code":...
车牌识别停车计费系统 postgres包是数据安装文件
3)在path变量(已存在不用新建)添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开) 4、“开始”-->“运行”-->输入“javac”-->"Enter",如果能正常打印用法说明配置成功! 补充环境...
需配置好OpenCV和OCR环境
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...
NB java weka 数据挖掘 机器学习 模式识别 朴素贝叶斯
对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。 说明:https://blog.csdn.net/xlantian/article/details/80789115
数字图像处理实际上是利用计算机对图像信息进行加工处理, 以改善图像质量、压缩图像数据或从图像数据中获取更多信息。随着微机、VLSI,DSP 等技术和新的理论、处理方法不断发展,数字图像处理已经成为一门独立的新...