有人能简单地完成这段代码吗?
float[] floats = {...}; // create an array
// Now I want to create a new array of ints from the arrays floats
int[] ints = ????;
我知道我可以逐个元素地转换为新的数组。但是有更简单的方法吗?
谢谢
有人能简单地完成这段代码吗?
float[] floats = {...}; // create an array
// Now I want to create a new array of ints from the arrays floats
int[] ints = ????;
我快速地在谷歌上搜索了一下,发现有人遇到了类似的问题,这更或多或少地证实了我的说法:
http://www.java-forums.org/advanced-java/11255-type-casting-array.html
我建议只单独转换元素。这是保证能够工作并且易于未来开发人员理解的方法。任何“一次性全部转换”的代码都可能在幕后执行相同操作。String[] sarray = (String[]) new Object[10];
)。尝试这样做会导致运行时ClassCastException
。 - Kevin BrockByteBuffer
开始,然后将我的数组(例如float [])创建为ByteBuffer
的视图,例如bb.asFloatBuffer
。 - orodbhen你不能直接这样做。根据创建和使用该数组的上下文,您可能需要考虑使用一个包装类的数组,其中您的setter接受一个float并getter返回一个int。
如果在您的情况下实际可行,这将是理想的,因为您可以隐藏客户端代码中的转换。