package com.zxt.basic.util;import java.text.DateFormat;
import java.util.Date;/*** * * 类名称:ConvertUtil * 类描述: 数据类型转换的工具类 * 创建人:chenly * 创建时间:May 17, 2012 9:30:47 AM * 修改人:* 修改时间:May 17, 2012 9:30:47 AM*  修改备注:* * @version 1.0.0* */
public class ConvertUtil {/*** * @author chenly   * to  转型为整型  * @param obj 原始对象* @param def 缺省值* @return  int* @exception    * @since  1.0.0*/public static int to(Object obj, int def) {if (obj != null) {if (obj instanceof Number) {return ((Number) obj).intValue();} else if (obj instanceof Boolean) {return ((Boolean) obj).booleanValue() ? 1 : 0;} else if (obj instanceof Date) {return (int) ((Date) obj).getTime();} else {try {return Integer.parseInt(obj.toString());} catch (Exception e) {try {return (new Double(Double.parseDouble(obj.toString()))).intValue();} catch (Exception e2) {return def;}}}} else {return def;}}/*** * @author chenly   * to  转型为long  * @param obj 原始对象* @param def 缺省值* @return  long* @exception    * @since  1.0.0*/public static long to(Object obj, long def) {if (obj != null) {if (obj instanceof Number) {return ((Number) obj).longValue();} else if (obj instanceof Boolean) {return ((Boolean) obj).booleanValue() ? 1 : 0;} else if (obj instanceof Date) {return (int) ((Date) obj).getTime();} else {try {return Long.parseLong(obj.toString());} catch (Exception e) {try {return (new Long(Long.parseLong(obj.toString()))).longValue();} catch (Exception e2) {return def;}}}} else {return def;}}/*** * @author chenly   * to  转型为单精度浮点型* @param obj 原始对象* @param def 缺省值* @return  float* @exception    * @since  1.0.0*/public static float to(Object obj, float def) {if (obj != null) {if (obj instanceof Float) {return ((Float) obj).floatValue();} else if (obj instanceof Float) {return ((Float) obj).floatValue();} else if (obj instanceof Integer) {return ((Integer) obj).intValue();} else if (obj instanceof Long) {return ((Long) obj).floatValue();} else if (obj instanceof Boolean) {return ((Boolean) obj).booleanValue() ? 1 : 0;} else if (obj instanceof Date) {return ((Date) obj).getTime();} else {try {return Float.parseFloat(obj.toString());} catch (Exception e) {return def;}}} else {return def;}}/*** * @author chenly   * to  转型为双精度浮点型* @param obj 原始对象* @param def 缺省值* @return  double* @exception    * @since  1.0.0*/public static double to(Object obj, double def) {if (obj != null) {if (obj instanceof Double) {return ((Double) obj).doubleValue();} else if (obj instanceof Float) {return ((Float) obj).doubleValue();} else if (obj instanceof Integer) {return ((Integer) obj).intValue();} else if (obj instanceof Long) {return ((Long) obj).doubleValue();} else if (obj instanceof Boolean) {return ((Boolean) obj).booleanValue() ? 1 : 0;} else if (obj instanceof Date) {return ((Date) obj).getTime();} else {try {return Double.parseDouble(obj.toString());} catch (Exception e) {return def;}}} else {return def;}}/*** * @author chenly   * to  转型为布尔值* @param obj 原始对象* @param def 缺省值* @return  boolean* @exception    * @since  1.0.0*/public static boolean to(Object obj, boolean def) {if (obj != null) {if (obj instanceof Boolean) {return ((Boolean) obj).booleanValue();} else if (obj instanceof Integer) {return ((Integer) obj).intValue() == 1;} else if (obj instanceof Long) {return ((Long) obj).longValue() == 1;} else if (obj instanceof Double) {return ((Double) obj).doubleValue() == 1;} else if (obj instanceof Date) {return ((Date) obj).getTime() == 1;} else {String str = obj.toString().toUpperCase();return str.equalsIgnoreCase("TRUE")|| str.equalsIgnoreCase("YES") || str.equals("1");}} else {return def;}}/*** * @author chenly   * to  转型为字符串* @param obj 原始对象* @param def 缺省值* @return  String* @exception    * @since  1.0.0*/public static String to(Object obj, String def) {if (obj != null) {return obj.toString();} else {return def;}}public static final boolean DEFAULT_BOOLEAN = false;public static final boolean[] DEFAULT_BOOLEAN_VALUES = new boolean[0];public static final double DEFAULT_DOUBLE = 0.0;public static final double[] DEFAULT_DOUBLE_VALUES = new double[0];public static final float DEFAULT_FLOAT = 0;public static final float[] DEFAULT_FLOAT_VALUES = new float[0];public static final int DEFAULT_INTEGER = 0;public static final int[] DEFAULT_INTEGER_VALUES = new int[0];public static final long DEFAULT_LONG = 0;public static final long[] DEFAULT_LONG_VALUES = new long[0];public static final short DEFAULT_SHORT = 0;public static final short[] DEFAULT_SHORT_VALUES = new short[0];public static final String DEFAULT_STRING = StringPool.BLANK;public static String[] BOOLEANS = {"true", "t", "y", "on", "1"};public static boolean getBoolean(String value) {return getBoolean(value, DEFAULT_BOOLEAN);}public static boolean getBoolean(String value, boolean defaultValue) {return get(value, defaultValue);}public static boolean[] getBooleanValues(String[] values) {return getBooleanValues(values, DEFAULT_BOOLEAN_VALUES);}public static boolean[] getBooleanValues(String[] values, boolean[] defaultValue) {if (values == null) {return defaultValue;}boolean[] booleanValues = new boolean[values.length];for (int i = 0; i < values.length; i++) {booleanValues[i] = getBoolean(values[i]);}return booleanValues;}public static Date getDate(String value, DateFormat df) {return getDate(value, df, new Date());}public static Date getDate(String value, DateFormat df, Date defaultValue) {return get(value, df, defaultValue);}public static double getDouble(String value) {return getDouble(value, DEFAULT_DOUBLE);}public static double getDouble(String value, double defaultValue) {return get(value, defaultValue);}public static double[] getDoubleValues(String[] values) {return getDoubleValues(values, DEFAULT_DOUBLE_VALUES);}public static double[] getDoubleValues(String[] values, double[] defaultValue) {if (values == null) {return defaultValue;}double[] doubleValues = new double[values.length];for (int i = 0; i < values.length; i++) {doubleValues[i] = getDouble(values[i]);}return doubleValues;}public static float getFloat(String value) {return getFloat(value, DEFAULT_FLOAT);}public static float getFloat(String value, float defaultValue) {return get(value, defaultValue);}public static float[] getFloatValues(String[] values) {return getFloatValues(values, DEFAULT_FLOAT_VALUES);}public static float[] getFloatValues(String[] values, float[] defaultValue) {if (values == null) {return defaultValue;}float[] floatValues = new float[values.length];for (int i = 0; i < values.length; i++) {floatValues[i] = getFloat(values[i]);}return floatValues;}public static int getInteger(String value) {return getInteger(value, DEFAULT_INTEGER);}public static int getInteger(String value, int defaultValue) {return get(value, defaultValue);}public static int[] getIntegerValues(String[] values) {return getIntegerValues(values, DEFAULT_INTEGER_VALUES);}public static int[] getIntegerValues(String[] values, int[] defaultValue) {if (values == null) {return defaultValue;}int[] intValues = new int[values.length];for (int i = 0; i < values.length; i++) {intValues[i] = getInteger(values[i]);}return intValues;}public static long getLong(String value) {return getLong(value, DEFAULT_LONG);}public static long getLong(String value, long defaultValue) {return get(value, defaultValue);}public static long[] getLongValues(String[] values) {return getLongValues(values, DEFAULT_LONG_VALUES);}public static long[] getLongValues(String[] values, long[] defaultValue) {if (values == null) {return defaultValue;}long[] longValues = new long[values.length];for (int i = 0; i < values.length; i++) {longValues[i] = getLong(values[i]);}return longValues;}public static short getShort(String value) {return getShort(value, DEFAULT_SHORT);}public static short getShort(String value, short defaultValue) {return get(value, defaultValue);}public static short[] getShortValues(String[] values) {return getShortValues(values, DEFAULT_SHORT_VALUES);}public static short[] getShortValues(String[] values, short[] defaultValue) {if (values == null) {return defaultValue;}short[] shortValues = new short[values.length];for (int i = 0; i < values.length; i++) {shortValues[i] = getShort(values[i]);}return shortValues;}public static String getString(String value) {return getString(value, DEFAULT_STRING);}public static String getString(String value, String defaultValue) {return get(value, defaultValue);}public static boolean get(String value, boolean defaultValue) {if (value != null) {try {value = value.trim();if (value.equalsIgnoreCase(BOOLEANS[0]) ||value.equalsIgnoreCase(BOOLEANS[1]) ||value.equalsIgnoreCase(BOOLEANS[2]) ||value.equalsIgnoreCase(BOOLEANS[3]) ||value.equalsIgnoreCase(BOOLEANS[4])) {return true;}else {return false;}}catch (Exception e) {}}return defaultValue;}public static Date get(String value, DateFormat df, Date defaultValue) {try {Date date = df.parse(value.trim());if (date != null) {return date;}}catch (Exception e) {}return defaultValue;}public static double get(String value, double defaultValue) {try {return Double.parseDouble(_trim(value));}catch (Exception e) {}return defaultValue;}public static float get(String value, float defaultValue) {try {return Float.parseFloat(_trim(value));}catch (Exception e) {}return defaultValue;}public static int get(String value, int defaultValue) {try {return Integer.parseInt(_trim(value));}catch (Exception e) {}return defaultValue;}public static long get(String value, long defaultValue) {try {return Long.parseLong(_trim(value));}catch (Exception e) {}return defaultValue;}public static short get(String value, short defaultValue) {try {return Short.parseShort(_trim(value));}catch (Exception e) {}return defaultValue;}public static String get(String value, String defaultValue) {if (value != null) {value = value.trim();return value;}return defaultValue;}private static String _trim(String value) {if (value != null) {value = value.trim();StringMaker sm = new StringMaker();char[] charArray = value.toCharArray();for (int i = 0; i < charArray.length; i++) {if ((Character.isDigit(charArray[i])) ||(charArray[i] == '-' && i == 0) ||(charArray[i] == '.')) {sm.append(charArray[i]);}}value = sm.toString();}return value;}
}

转载于:https://www.cnblogs.com/huojuncheng/p/3415814.html

ConvertUtil-数据类型转换的工具类相关推荐

  1. 长文 | 从发展轨迹、社会变迁和人口数据变化来看工具类产品的发展出路有哪些(1)

    7月25日,我看到"腾讯某GM|工具类产品,未来发展的出路有哪些?"这个问题觉得很有意思,下面是我对这个问题的回答,希望有更多道友能参与进来分享. 我对这个问题很感兴趣,最近花了不 ...

  2. 【linlong】Hutool工具,身份证号、手机号、姓名等数据脱敏信息工具类介绍

    前言   在开发系统过程中,经常会接触到大量的数据信息,这些数据信息可能包含身份证号.手机号.姓名.卡号等各种敏感信息.而有些用户需求是不允许,这些敏感信息数据为了保护用户个人信息的安全.对这些数据需 ...

  3. 【收藏】身份证号、手机号、姓名等数据脱敏信息工具类介绍

    前言   在开发系统过程中,经常会接触到大量的数据信息,这些数据信息可能包含身份证号.手机号.姓名.卡号等各种敏感信息.为了保护用户个人信息的安全.对这些数据需要进行特殊处理. 数据脱敏   数据脱敏 ...

  4. Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)

    package cn.bdqn.mhouse.util;import java.util.ArrayList; import java.util.List;import cn.bdqn.mhouse. ...

  5. C#数据类型转换—使用Convert类转换

    文章目录 简介 用例 博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 简介 System.Covert类就是专门进行类型转换的类,Convert类提供的方法可以实现各种进本数据类型 ...

  6. Springboot 为了偷懒,我封装了一个自适配的数据单位转换工具类

    前言 平时做一些统计数据,经常从数据库或者是从接口获取出来的数据,单位是跟业务需求不一致的. 比如, 我们拿出来的 分, 实际上要是元 又比如,我们拿到的数据需要 乘以100 返回给前端做 百分比展示 ...

  7. list和对象数据复制CopyUtil工具类

    文章目录 1. CopyUtil 2. 使用案例 1. CopyUtil package com.gblfy.wiki.util;import org.springframework.beans.Be ...

  8. JAVA高效率 (秒级) 将千万条数据导入数据库 (已封装工具类)【详解】【一看就懂】

    该gif做了加速处理,便于观看~  今天在将一个500w+条数据的文件导入至数据库时,遇到一个异常,相信做大数据应该都有遇到.500w条数据说多不多,说少也不少.既然问题出现了,那么就一定要解决. 异 ...

  9. 【DataProcessor】简易的通用多进程数据生成工具类(Advanced for HVD)

    0x00 前言 基于先前实现的Python多进程共享内存队列实现的SMQueue(原文地址), 认真思考了一下,虽说prototype类的东西写起来很酷,但无法产生太大的使用价值, 为了方便调用和扩展 ...

最新文章

  1. bug之bootstrap switch Uncaught TypeError: Cannot read property 'apply' of undefined
  2. 深度强化学习入门介绍
  3. python分布式爬虫系统_如何构建一个分布式爬虫:理论篇
  4. 设置窗口置顶_这三个应用,每一个都能让你置顶。
  5. js高级学习笔记(b站尚硅谷)-15-闭包的剩余知识
  6. cad导出pdf_关于PDF文件修改、生成、导图片用这一个软件就够了
  7. API在公司全业务快速使用给信息安全带来了巨大挑战
  8. 计算机毕业论文选题影视方向,毕业设计选题方向
  9. 【Small Problem In Work】word 大括号后面的公式对不齐的问题
  10. 基于Python实现的死链接自动化检测工具
  11. 福利最新2022年H3CNE认证网络工程师GB0-191 题库加超详细解析
  12. 反向寻车管理系统服务器,一种反向寻车系统及寻车方法
  13. 万字综述!命名实体识别(NER)的过去和现在
  14. cublas_学习笔记2
  15. JavaScript Promise返回值详解
  16. 如何用 CSS 中写出超级美丽的阴影效果!
  17. 我的互联网方法论周鸿祎
  18. 命令行打开文件夹窗口的六种方法
  19. 金三银四已接近尾声,进大厂,你准备好了吗?过五关斩六将七轮面试终拿互联网大厂Offer!!(建议收藏)
  20. oppowatchfree有睡眠监测功能吗

热门文章

  1. python入门教程软件-程序员带你十天快速入门Python,玩转电脑软件开发(四)
  2. python处理数据的优势-Python 的优势在哪里?
  3. 爬虫python代码-Python爬虫教程:200行代码实现一个滑动验证码
  4. python财务报表分析-需要做财务数据分析,有什么好用的工具?
  5. python详细教程-python入门(非常详细的教程)
  6. python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在
  7. python现在好找工作吗-学完Python好找工作吗?为什么有人学完找不到工作?
  8. vscode使用教程python-硬核教程:五步掌握用VSCode进行高效Python开发
  9. python3.6.5安装教程-Centos7 安装Python3.6.5步骤
  10. python和c++哪个好找工作-少儿编程学python和C++哪个好