为了账号安全,请及时绑定邮箱和手机立即绑定

不同类的值之间的转换?

不同类的值之间的转换?

白衣染霜花 2022-01-12 14:05:45
说,我有一个字符串值“CHAR”、“VARCHAR”、“NUMBER”等,从一侧和 JDBCType.CHAR、JDBCType.VARCHAR、JDBCType.INTEGER 从另一侧。我可以简单地实现转换:public static JDBCType convertFromStringToJDBCType(String datatype) {switch(datatype) {  case "VARCHAR":    result = JDBCType.VARCHAR;    break;  case "NUMBER":    result = JDBCType.INTEGER;    break;...}这种方法的缺点是我必须构建与该函数完全相反的函数才能将值转换回来。实现这种转换的最佳方式是什么?
查看完整描述

3 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

只要你不开始在不同的地方“复制”它,“中心”的 switch 语句就没有错。单个开关是可以的,通常当“相同”开关代码存在于多个地方时,“麻烦”就会开始。

如果有的话,您可以考虑将此映射信息放入不同的映射typesByString.put("VARCHAR", JDBCType.VARCHAR)等。

如果你想在“两个”方向,你想看看(惊喜)比迪地图


查看完整回答
反对 回复 2022-01-12
?
慕容3067478

TA贡献1773条经验 获得超3个赞

您还可以使用内置valueOf(String)的方法Enum。喜欢

result = JDBCType.valueOf(datatype);


查看完整回答
反对 回复 2022-01-12
?
暮色呼如

TA贡献1853条经验 获得超9个赞

您可以创建Map<String, JDBCType>并使用它来将key转换为 value并将value转换为 key。如果您发现key 的 value很慢,那么您可以创建另一个相反的Map<JDBCType, String>.


查看完整回答
反对 回复 2022-01-12
  • 3 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信