java Object转换成指定的类型

 /**
* Object转成指定的类型
* @param obj
* @param type
* @param <T>
* @return
*/
public static<T> T convert(Object obj, Class<T> type) {
if (obj != null && StringUtils.isNotBlank(obj.toString())) {
if (type.equals(Integer.class)||type.equals(int.class)) {
return (T)new Integer(obj.toString());
} else if (type.equals(Long.class)||type.equals(long.class)) {
return (T)new Long(obj.toString());
} else if (type.equals(Boolean.class)||type.equals(boolean.class)) {
return (T) new Boolean(obj.toString());
} else if (type.equals(Short.class)||type.equals(short.class)) {
return (T) new Short(obj.toString());
} else if (type.equals(Float.class)||type.equals(float.class)) {
return (T) new Float(obj.toString());
} else if (type.equals(Double.class)||type.equals(double.class)) {
return (T) new Double(obj.toString());
} else if (type.equals(Byte.class)||type.equals(byte.class)) {
return (T) new Byte(obj.toString());
} else if (type.equals(Character.class)||type.equals(char.class)) {
return (T)new Character(obj.toString().charAt(0));
} else if (type.equals(String.class)) {
return (T) obj;
} else if (type.equals(BigDecimal.class)) {
return (T) new BigDecimal(obj.toString());
} else if (type.equals(LocalDateTime.class)) {
//DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
return (T) LocalDateTime.parse(obj.toString());
} else if (type.equals(Date.class)) {
try
{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return (T) formatter.parse(obj.toString());
}
catch (ParseException e)
{
throw new RuntimeException(e.getMessage());
} }else{
return null;
}
} else {
if (type.equals(int.class)) {
return (T)new Integer(0);
} else if (type.equals(long.class)) {
return (T)new Long(0L);
} else if (type.equals(boolean.class)) {
return (T)new Boolean(false);
} else if (type.equals(short.class)) {
return (T)new Short("0");
} else if (type.equals(float.class)) {
return (T) new Float(0.0);
} else if (type.equals(double.class)) {
return (T) new Double(0.0);
} else if (type.equals(byte.class)) {
return (T) new Byte("0");
} else if (type.equals(char.class)) {
return (T) new Character('\u0000');
}else {
return null;
}
}
}

java Object转换成指定的类型的更多相关文章

  1. 泛型(二)封装工具类CommonUtils-把一个Map转换成指定类型的javabean对象

    1.commons-beanutils的使用 commons-beanutils-1.9.3.jar 依赖 commons-logging-1.2.jar 代码1: String className ...

  2. 如何将 Java 项目转换成 Maven 项目

    本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...

  3. 转:如何将 Java 项目转换成 Maven 项目

    如何将 Java 项目转换成 Maven 项目 本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明 ...

  4. Java对象转换成xml对象和Java对象转换成JSON对象

    1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...

  5. java 数字转换成字符串

    一.各种数字类型转换成字符串型:  public static void main(String[] args) { double value = 123456.123; String str = S ...

  6. Java String类型转换成Date日期类型

    插入数据库时,存入当前日期,需要格式转换 import java.text.SimpleDateFormat; formatter = new SimpleDateFormat( "yyyy ...

  7. SQL SERVER 自定义函数 整数转成指定长度的16进制 转换成指定长度的16进制 不足补0

    最近做项目扩展的时候,遇到问题就是将整型转换成指定长度的16进制 刚开始就是直接使用 cast(12 as varbinary(4))但是发现这个不能解决我的问题 所以就上网搜了一下,然后改了改,下面 ...

  8. eclipse下将普通的java工程转换成web工程

    开发过程中需要对普通的java工程转换成动态的web工程,网络上查询了资料很简单的几步操作就可以搞定,操作步骤如下: 编辑.project 修改以下配置 <nature>org.eclip ...

  9. Myeclipse Java项目转换成Maven项目

    1.在Eclipse中Java项目转换成Maven项目可以在项目右键-->configure-->Convert Plug-in projects..  就可以.而在myeclipse中项 ...

随机推荐

  1. Sencha Touch快速入门(译)

    翻译自:http://www.sencha.com/learn/sencha-touch-quick-start/ 1.下载Sencha Touch SDK——下载链接 2.安装Safari或Chro ...

  2. php -- 文件操作类(文件或文件夹的:创建、删除、复制、移动)

    <? /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::create ...

  3. 【UVa】And Then There Was One(dp)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  4. Designated Initializer

    一个类,可能有很多初始化函数,但是有主次之分,最主要的初始函数应该对类内应当需要初始化的变量进行初始化.这个最主要的初始函数即Designated Initializer(指定初始化器),可以理解为是 ...

  5. hdu 3899(树形dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3899 思路:num[u]表示u以及u的子树的队伍数的总和,dist[u]表示u到根节点的距离,dp[u ...

  6. Android 网卡地址Mac Wifi文件

    1./system/etc/firmware/ti-connectivity/wl1271-nvs.bin的文件 2./data/etc/wifi/fw文件 3./data/nvram/APCFG/A ...

  7. Popwindow系列

    一系列干货等你来拿 关于我:http://www.cnblogs.com/dubo-/ 项目中也有很多实用的事例,等待录入中...

  8. IOS内购支付服务器验证模式

    IOS 内购支付两种模式: 内置模式 服务器模式 内置模式的流程: app从app store 获取产品信息 用户选择需要购买的产品 app发送支付请求到app store app store 处理支 ...

  9. 【BZOJ3425】Poi2013 Polarization 猜结论+DP

    [BZOJ3425]Poi2013 Polarization Description 给定一棵树,可以对每条边定向成一个有向图,这张有向图的可达点对数为树上有路径从u到达v的点对(u,v)个数.求最小 ...

  10. Cocos2d-x学习之 整体框架描述

    1.Cocos2d-x 整体描述 和传统的游戏引擎一样,cocos2d-x作为一个2d的游戏引擎,其也有以下几大概念组成: 导演(CCDiretor): 在cocos2d-x引擎中,CCDirecto ...