如何将数组转换为具有其他基本类型的数组

时间:2010-04-14 17:59:59

标签: java performance arrays casting primitive-types

有人可以轻松完成代码吗?

float[] floats = {...}; // create an array
// Now I want to create a new array of ints from the arrays floats
int[] ints = ????;

我知道我可以简单地将逐个元素转换为新数组。但是有可能以更简单的方式吗?

由于

2 个答案:

答案 0 :(得分:4)

我很确定你不能以任何其他方式为你的浮动到int例子而不是单独地投射每一个元素。

我很快用谷歌搜索了一个类似问题的人,或多或少证实了我所说的话:

http://www.java-forums.org/advanced-java/11255-type-casting-array.html

我建议只是单独投射元素。对于未来的开发人员来说,它可以保证工作并且易于理解。无论如何,任何形式的“一次性投射”代码可能只是在幕后进行。

答案 1 :(得分:0)

你不能直接这样做。基于如何在使用中创建此数组的上下文,您可能需要考虑使用包装类的数组,其中setter接受float并且getter返回int。

如果在您的情况下实际可行,这将是理想的,因为您可以隐藏客户端代码的转换。