社区
Java SE
帖子详情
关于java类型转换的问题…
tbssl
2019-06-25 09:16:26
事情是这样的。 现在有一堆储存为String类型的变量,和一个配置文件,文件里注明了每个变量的实际类型。 请问如何简洁地把这些变量变成它们的实际类型… 因为变量类型有点多,不希望用if else…写出来大概会很丑吧… 能不能用反射来做呢?
...全文
143
4
打赏
收藏
关于java类型转换的问题…
事情是这样的。 现在有一堆储存为String类型的变量,和一个配置文件,文件里注明了每个变量的实际类型。 请问如何简洁地把这些变量变成它们的实际类型… 因为变量类型有点多,不希望用if else…写出来大概会很丑吧… 能不能用反射来做呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
月光下的大D丶
2019-07-04
打赏
举报
回复
如果涉及业务逻辑 或者 if else 代码块中 重复的 比较多 ,可以考虑 策略模式来取代 if else
guishuanglin
2019-06-26
打赏
举报
回复
难道spring框架不也是这样做的, if else是可以的, 我就是这样写的: /** 根据已知T类型,把字符转换成相应T类型对象值,返回T */ public static <T> T getObject(String attrVal, Class<T> clazz, T defval) { String str = Convert.trimEmpty(attrVal); if(str == null || clazz == null) return null; try { if(String.class.isAssignableFrom(clazz)) { return clazz.cast(str); } else if(Integer.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getInt(str)); } else if(Long.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getLong(str)); } else if(Double.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getDouble(str)); } else if(BigDecimal.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getBigDecimal(str)); } else if(Float.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getFloat(str)); } else if(Short.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getShort(str)); } else if(Byte.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getByte(str)); } else if(int.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getint(str)); } else if(long.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getlong(str)); } else if(double.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getdouble(str)); } else if(float.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getfloat(str)); } else if(short.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getshort(str)); } else if(Date.class.isAssignableFrom(clazz)) { return clazz.cast(Convert.getDate(str)); } } catch(Exception e) { System.out.println("类型转换错误:"); e.printStackTrace(); return defval; } return defval; } /** * 把数据库数据,格式化成java对象 * @date 2008-10-25 */ public static Integer getInteger(Object data){ if(data==null){ return null; } if(data instanceof Integer){ return (Integer)data; } if(data instanceof Long){ return Integer.valueOf(((Long)data).intValue()); } if(data instanceof Short){ return Integer.valueOf(((Short)data).intValue()); } if(data instanceof Double){ return Integer.valueOf(((Double)data).intValue()); } if(data instanceof Float){ return Integer.valueOf(((Float)data).intValue()); } if(data instanceof BigDecimal){ return Integer.valueOf(((BigDecimal)data).intValue()); } if(data instanceof Byte){ return Integer.valueOf(((Byte)data).intValue()); } String s = String.valueOf(data).trim(); if(s.equals("")){ s = null; return null; } Integer v = null; try { v = new Integer(s); } catch (Exception e) { data = null; v = null; System.out.println("对象 "+s+" 转换成 Integer 数据错误."); } finally { data = null; s = null; } return v; }
立刀流
2019-06-25
打赏
举报
回复
配置文件里是注释?注释的话机器又看不懂
「已注销」
2019-06-25
打赏
举报
回复
int i = 0; switch(i)
【
Java
基础篇】
Java
类型
转换
类型
转换
在
Java
编程中是一项重要的操作,它允许我们在不同的数据
类型
之间进行
转换
。本篇博客详细介绍了
Java
中的
类型
转换
,包括隐式
类型
转换
和显式
类型
转换
。隐式
类型
转换
是自动进行的,而显式
类型
转换
需要使用强制...
【
Java
】强制
类型
转换
强制
类型
转换
,可以理解为自动
类型
转换
的逆过程。是将大容量的数据
类型
转换
为小容量的数据
类型
。 使用时,前面要加上强制
类型
转换
符号()。 2. 应用场景 需要将数据从高精度数据
类型
转换
为低精度数据
类型
。(即高精度...
Java
类型
转换
文章目录一、
Java
类型
转换
二、自动
转换
三、手动
转换
一、
Java
类型
转换
类型
转换
是指将一种原始数据
类型
的值分配给另一种
类型
。在
Java
中,有两种
类型
的
转换
: 自动
转换
- 将较小的
类型
转换
为较大的
类型
byte->...
Java
数据
类型
转换
超详解
Java
数据
类型
转换
java
数据
类型
的
转换
一般分三种,分别是: 一. 简单数据
类型
之间的
转换
在
Java
中整型、实型、字符型被视为简单数据
类型
,这些
类型
由低级到高级分别为(byte,short,char)–int–long–float–double ...
java
强转规则_
java
类型
转换
及其规则介绍
一、自动
类型
转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同
类型
的数据先转化为同一
类型
,然后进行运算。数据
类型
转换
必须满足如下规则:1、不能对boolean
类型
进行
类型
转换
。2、不能把对象
类型
转换
成...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章