*把输入数据转换为预期的输出类型
*
转换数据类型通常都是子类转换为父类或者转换为接口,这种情况至少占到程序编码90%以上,此方法内部默认此种判断为第一级判断,从而保证效率最优
*
此工具类的其他代码专注于解决另外的10%复杂情况,旨在把常见的容错代码,封装于此,避免调用端编写复杂、重复、冗长、不健壮的代码
*
容错概述:
* 1.自动拆箱装箱
* 2.数字与字符串向枚举转换
* 3.数组与Collection自动互转
* 4.除boolean外的七种基本数据类型互转时取值范围自适应
* 5.字符串与时间与基本数据类型互转
* 6.以及对上述容错情况自由排列组合后所产生的更复杂情况自动容错
*
7.请格外注意,由于Boolean在Java中的通俗约定较之其他语言例如C非常不同,不存在其他数据类型与之兼容取值范围的习惯做法,因此并未容错,如果想要让数字类型转换为boolean,注意这里是未作支持的,现仅以最低兼容方式构造Boolean,即仅支持Java官方约定的通过字符串构造Boolean对象以及boolean基本值构造Boolean对象
*
常见情景:
*
1.比如一个int数组完全可以放入long数组或者List,用此工具方法自动处理,即可避免自己的代码篇幅冗长,或者代码编写质量不高导致程序健壮性不高的问题
* 2.如果long数组数值并不是大数,当然也可以放入int数组,其他数值类型同理,反之亦然
*
3.很多数据拿到的时候是Object类型,如果用强制类型转换,很容易出错,比如到底Object是数组还是集合类,都有可能,这种时候强制类型转换必然出错
* 4.实现类自动转换为接口,比如HashMap、LinkedHashMap转换为Map