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. php -- PDO异常处理

    异常处理: PHP:默认为直接报错 MYSQL:默认为静默模式,错就错,不报错 PDO:默认为静默模式,错就错,不报错 以前,当PHP碰到错误的时候,会直接报错,错误处理会变得相当麻烦.后来,当错误发 ...

  2. linux下面bin,sbin不理解的查阅

    在一下的文件中得到答案, 突然想想自己有点傻,自己有代码,为什么不自己查看一下代码呢 http://blog.csdn.net/ithomer/article/details/9839957

  3. 复习及总结--.Net线程篇(2)

    复习总结 上一篇里讲到了使用委托异步调用的方式来使用多线程,这里介绍几个概念 这里贴出来一个关于应用程序域的帖子 http://www.cnblogs.com/firstyi/archive/2008 ...

  4. sys.argv 详细用法

    sys.argv 用于获取命令行参数,用法如下: [root@localhost ~]$ cat 1.py #!/usr/bin/env python #-*- coding:utf-8 -*- im ...

  5. 用Java实现自己的ArrayList

    利用自己对ArrayList的理解,重写了Java的ArrayList工具类,旨在理解源码的精髓: public class MyArrayList<T> { //成员变量 private ...

  6. WEB安全番外第四篇--关于SQL盲注

    一.SQL盲注: 看不到回显的,无法从返回直接读取到数据库内容的对数据的猜解,属于盲注. 二.第一种--基于布尔类型的盲注: 这种很简单,最典型的例子,就是挖SQL注入的时候常用的: ''' http ...

  7. js 匿名函数-立即调用的函数表达式

    先提个问题, 单独写匿名函数为什么报错?return 匿名函数 为什么不报错? 如图: 第二种情况在 f 还没有执行的时候,就报错了,,,当然这得归因于函数声明语句声明提前(发生在代码执行之前)的原因 ...

  8. Servlet------>jsp自定义标签3(不显示余下jsp内容)

    2.自定义标签控制,jsp页面余下标签是否继续执行 EndTag.java package tag; import javax.servlet.jsp.JspException; import jav ...

  9. Apache Kafka源码分析 – ReplicaManager

    如果说controller作为master,负责全局的事情,比如选取leader,reassignment等那么ReplicaManager就是worker,负责完成replica的管理工作 主要工作 ...

  10. java获取时间段内的所有日期

        public static void main(String[] args) {        SimpleDateFormat dateFormat = new SimpleDateForm ...