java基本数据类型测试_Java中的基本数据类型转换

/**

* 类型转换

* @param t

* @param value

* @return

*/

@SuppressWarnings("unchecked")

public static T Cast(Class t, Object value) {

if (value == null) {

return GetDefault(t);

}

if (t == Object.class) {

return (T)value;

}

try

{

return Cast_i(t, value);

} catch(Exception ex) {

ex.printStackTrace();

return GetDefault(t);

}

}

private static String GetStr(Class> t, Object value) {

if (value == null) {

return "";

}

if (t == String.class){

return (String)value;

}else {

return value.toString();

}

}

@SuppressWarnings("unchecked")

private static T Cast_i(Class t, Object value) {

Class> objClass = value.getClass();

if (t == String.class) {

return (T)GetStr(objClass, value);

}

if (t == int.class) {

if (objClass == int.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = Integer.parseInt(text);

return (T)ret;

}

if (t == Integer.class) {

if (objClass == Integer.class) {

return (T)value;

}

if (objClass == int.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = Integer.parseInt(text);

return (T)ret;

}

if (t == short.class) {

if (objClass == int.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = Short.parseShort(text);

return (T)ret;

}

if (t == boolean.class || t == Boolean.class) {

if (objClass == int.class) {

Object ret = (int)value >= 1? true:false;

return (T)ret;

}

if (objClass == Integer.class) {

Object ret = (Integer)value >= 1? true:false;

return (T)ret;

}

String text = GetStr(objClass, value);

Object ret = Integer.parseInt(text);

ret = (int)ret >= 1? true:false;

return (T)ret;

}

if (t == long.class) {

if (objClass == long.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = Long.parseLong(text);

return (T)ret;

}

if (t == byte.class) {

if (objClass == byte.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = Byte.parseByte(text);

return (T)ret;

}

if (t == double.class) {

if (objClass == double.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = Double.parseDouble(text);

return (T)ret;

}

if (t == float.class) {

if (objClass == float.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = Float.parseFloat(text);

return (T)ret;

}

if (t == BigDecimal.class) {

if (objClass == BigDecimal.class) {

return (T)value;

}

String text = GetStr(objClass, value);

return (T)new BigDecimal(text);

}

if (t == java.util.Date.class){

if (objClass == java.util.Date.class) {

return (T)value;

}

String text = GetStr(objClass, value);

return (T)HiTypeHelper.Convert2Date(text);

}

if (t == java.sql.Date.class){

if (objClass == java.sql.Date.class) {

return (T)value;

}

String text = GetStr(objClass, value);

return (T)HiTypeHelper.Convert2SqlDate(text);

}

if (t == Time.class) {

if (objClass == Time.class) {

return (T)value;

}

String text = GetStr(objClass, value);

Object ret = HiTypeHelper.Convert2Date(text).getTime();

return (T)ret;

}

if (t == Timestamp.class) {

if (objClass == Timestamp.class) {

return (T)value;

}

String text = GetStr(objClass, value);

return (T)Timestamp.valueOf(text);

}

return (T)value;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值