照例应该先说一下这个问题的来源,因为有需要我才解决他

(需要结果的请直接看最后)

那么这个问题的来源是这样的

在某个不知名的小屁项目中,使用了Hibernate,在查询的时候,使用hql查询,设置查询条件的时候使用 in 方式 ,比如:

 select username from user where id in (:id) 

然后设置参数的时候,hibernate要求这个参数为Array(Object[])或者List(Collection)

然后,因为我这个方法是通用的,所以这里的参数是用一个 Map 传入的,这就导致我在解析的时候必须将这个Object转换成Object[]

当然经过我的实践,这里的解决方式其实很简单

 List l = new ArrayList(); l.add("ss1"); l.add("ss2"); l.add("ss3"); l.add("ss4"); l.add("ss5"); String[] sarr = new String[l.size()];  l.toArray(sarr);  for (Object string : (Object[])sarr) { System.out.println(string); }

这个代码是能通过编译并且执行成功的

也就是说,我还转个皮啊。。。直接写就ok了……

如果是这样,那我还写这个文干啥?

所以,注意:

 List l = new ArrayList(); l.add("ss1"); l.add("ss2"); l.add("ss3"); l.add("ss4"); l.add("ss5"); String[] sarr = (String[])l.toArray(); for (String string : sarr) { System.out.println(string); }

这段代码执行是不成功的!

在我机器上执行结果(jdk7):

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

List中不带参的toArray方法返回的是Object[],并且不能直接转成String[]

综上,String[]可以转成Object[],但是反过来就不行

现在回到我题目中的问题,上代码

第一步,确定传入的这个Object是一个Array

第二步,获取这个Array的长度

第三步,创建一个相同长度的数组(什么类型根据你的需求自定义,前提是能兼容,比如我的代码是写Object,不管是啥都能进去了)

第四步,挨个取出原来数组中的元素放到新的数组中

import java.lang.reflect.Array..............if (obj.getClass().isArray()) { int length = Array.getLength(obj); Object[] os = new Object[length]; for (int i = 0; i < os.length; i++) { os[i] = Array.get(obj, i); }}

以上

java 小数如何转换成百分数_看似简单,在JAVA中如何将一个Object转换成Array相关推荐

  1. java小数转换成百分数_在java中如何把小数转化成百分数

    import java.text.NumberFormat; public class Test { //在java中如何把小数转化成百分数 public static void main(Strin ...

  2. java 小数如何转换成百分数_初等数学33-百分数

    百分数定义 百分数与小数.分数的相互转换 百分数的定义 百分数是一个分母为100的比值,用百分号%表示.例如:用模型表示57%,即100个方格中有57个上色的格子 57/100 再如,25%,3%,1 ...

  3. 用java建立一个学生查询系统_一个简单的java学生寝室查询系统

    本文实例为大家分享了java学生寝室查询系统的具体代码,供大家参考,具体内容如下 前端部分: index.html ahpu freshman dormitory inquiry html,body{ ...

  4. c语言小数如何转换成百分数,小数怎么转换成百分数

    本文收集整理关于小数怎么转换成百分数的相关议题,使用内容导航快速到达. 内容导航: Q1:百分数怎样才能化成小数? 百分数与小数的互化,是小学数学基础知识点.百分数和小数都是特殊的分数,通过分数这个桥 ...

  5. 如何将小数转换成百分数

    如何将小数转换成百分数 有朋友在群里问了这个问题,印象中Java没有这方面的函数(百分数转换为小数倒是有一个),而且直接乘以100会得出类似2.5999999999的结果,在网上也没有搜到类似的解决方 ...

  6. python将小数转换成百分数

    处理数据得时候遇到一个小问题,如何用 pandas 将小数转换成百分数? 数据源是这样的,一个名为 "data.xlsx" 的 excel 文件,我需要将 "人员利用率& ...

  7. Java中int转Double再转换成百分数并应用在求同比昨日增长率

    场景 求数据库中某记录的同比昨日增长率. 使用MyBatisPlus的selectCount方法返回的是int类型. 最后需要再转换成百分数表示. 实现 //查询昨日物流数SimpleDateForm ...

  8. Java中如何将一个数组分割成多个等长度的数组

    Java中如何将一个数组分割成多个等长度的数组,最后剩下的为一个素组 先看图 分析数据 提取公式 分装代码 1.如下我们需求 最近朋友android项目中有一个需求如下: 这一个长集合[item0, ...

  9. java用对话框输出计算结果_动手动脑及java程序之用消息框进行数的运算

    动手动脑自信成就人生 动手动脑1 ✿仔细阅读示例: EnumTest.java,运行它,分析运行结果? package demo; public class Test { public static ...

  10. hashcode的作用_看似简单的hashCode和equals面试题,竟然有这么多坑!

    hashCode()方法和equals()区别与联系这到面试题,看似简单,根据以往面试星友的情况来说,绝大部分人都不能很好的回答出来,要么没有逻辑,想到一句就说一句,要么抓不住重点,答非所问.从这个很 ...

最新文章

  1. 深度学习数据集定义与加载
  2. python添加数组元素_Python列表附录–如何向数组添加元素,并附带示例说明
  3. Linux下多路复用IO接口epoll/select/poll的区别
  4. VS编辑器 设置智能提示
  5. Python+Flask+Echart+WordCloud:豆瓣爬虫项目的可视化数据
  6. Nginx的Gzip模块配置指令(一)
  7. [币严区块链]以太坊(ETH)Dapp开发入门教程之宠物商店领养游戏
  8. kibana-7.15.2 一分钟下载、安装、部署 linux
  9. centos6.0安装中文输入法
  10. 自由职业者和外包接单项目分析
  11. 服务器鉴别信息清楚,对服务器远程管理时鉴别信息未加密
  12. PAT A1029 Median (25 point(s)) __two pointers
  13. 计算机专业bs和cs,BS和CS的区别以及各自的优缺点
  14. 1.语音增强技术概述
  15. 【发际线大作战】C++学习记录之循环语句(发际线-1cm)
  16. 安装ROS中出现bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录或者bash: /opt/ros/kinetic/setup.bash:的解决办法
  17. 澳大利亚博士后招聘|国立大学—太阳能电池方向
  18. 杨绛先生70句金句,请珍藏
  19. 分享30个优秀的网站导航设计案例
  20. 堪称货拉拉混合云数据库建设史,一场DBA团队的逆袭之战

热门文章

  1. Android App Architecture使用详解
  2. (3)《Head First HTML与CSS》学习笔记---CSS入门
  3. HBase 数据模型(Data Model)
  4. Qt Creator 启动失败 可能的解决办法
  5. Linux编写shell脚本的注意事项
  6. JAVA SE、JAVA EE、JAVA ME的联系与区别
  7. Android点亮屏幕
  8. [bbk4965] 第102集 -第13章 - 表空间管理 00
  9. 批量删除.svn文件的方法
  10. VS2010中的错误代码号及其含义