当前位置: 首页 > 面试题库 >

Java 将对象数组转换为其原始类型的数组

东门焕
2023-03-14
问题内容

如果你有一个具有原始类型(例如Byte,Integer,Char等)的Java对象数组。有没有一种巧妙的方法可以将其转换为原始类型的数组?特别是可以做到这一点,而不必创建新的数组并遍历内容。

因此,例如

Integer[] array

将其转换为最简洁的方法是什么

int[] intArray

不幸的是,在Hibernate和我们无法控制的某些第三方库之间进行接口连接时,这是我们经常要做的事情。看来这是一个很普通的操作,所以如果没有捷径,我会感到惊讶。


问题答案:

不幸的是,Java平台中没有任何东西可以做到这一点。顺便说一句,你还需要显式处理数组中的null元素Integer[](这些元素int将用于什么?)。



 类似资料:
  • 问题内容: 我一直在尝试创建自己的库,以使用反射来检查方法命名模式和方法返回类型,以从类到xml以及从xml到类实例的原始类型进行序列化和反序列化。 到目前为止,我已经能够使用所有基本的基本类型进行此操作,但是我被困在序列化相同基本类型的数组上。 例如,我调用class方法来获取原语数组: 该方法将仅返回一个原始数组等。尽管我们不知道它将是哪一个。 我试过使用通用的 但这不能让我从原始数组转换为对

  • 问题内容: 我正在使用返回“对象”类型的普通对象的Web服务。调试清楚地表明此对象中存在某种Array,因此我想知道如何将“ Object”转换为Array(或类似对象)? 我尝试了以下方法: 但是没有任何效果。我总是得到一个InvocationTargetException。 我究竟做错了什么? 编辑 : 可悲的是,我不得不删除指向显示Eclipse调试器输出的图像的链接,因为它不再可用。请不要

  • 我正在创建一个由数组支持的泛型类型堆栈。当我尝试创建泛型类型数组时,Java不允许我这样做。有人告诉我,我必须创建一个类型为Object的数组,并将其转换为泛型类型。我已经将对象数组转换为类型,但如何处理Java不断给我的未检查类型错误? 这就是我目前所处的位置。 更新:我正在创建一个对象数组,然后在方法的末尾将返回类型转换为T类型。

  • 问题内容: 只是为了进行回顾,有人可以快速解释一下是什么阻止了它的工作(在编译时): …以及使这种方式起作用的原因: 我不清楚使这种情况发生的机制(或其他任何作用)。 问题答案: 由于创建对象的数组,你不能让成铸造它而已。 创建一个数组。 是的,这是Collections类的缺点,也是将泛型引入Java的一种缺点。您希望可以返回E数组,但不会。 关于调用的有趣的事情:您不必使“ a”数组足够大,因

  • 问题内容: 这个问题基本上是不言而喻的。我无法找到用于数组的API(除了此Arrays之外,但这仅定义了一堆用于处理实际数组的静态辅助函数)。如果没有它的类,这似乎表明数组不能是。 然而,事实上,一个阵列具有公共领域,如和方法,它可以调用像和似乎暗示(强烈)相反完整。 对原始数组的奇数表示和行为有何解释? 作为说明,我现在尝试在数组的方法上使用“开放实现” Eclipse功能,希望我能够查看定义此

  • 问题内容: 转换的最佳方法是什么: 至: 问题答案: ECMAScript 6引入了易于填充的内容: 该方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 数组的自身属性不会被复制,因为它无法枚举。 另外,您可以使用ES6 传播语法来达到相同的结果: