Dmitrii Asked:2020-04-23 13:55:58 +0000 UTC2020-04-23 13:55:58 +0000 UTC 2020-04-23 13:55:58 +0000 UTC 如何将 float 数组转换为 long 数组? 772 没有枚举有没有可能做到这一点?只是一些演员。 或多或少是这样的: float[] b; long a[] = (long)b[]; java 2 个回答 Voted Best Answer Komdosh 2020-04-23T14:10:46Z2020-04-23T14:10:46Z 使用 Guava 库:https ://github.com/google/guava import com.google.common.primitives.Longs; import com.google.common.primitives.Floats; float[] b = new float[5]; long a[] = Longs.toArray(Floats.asList(b)); Regent 2020-04-23T15:16:50Z2020-04-23T15:16:50Z 如果枚举意味着循环for: long[] a = new long[b.length]; for (int i = 0; i < b.length; i++) { a[i] = (long)b[i]; } 那么您可以使用 Java 8 Stream 而不是循环: long[] a = IntStream.range(0, b.length) .mapToDouble(i -> b[i]) .mapToLong(e -> (long)e) .toArray(); 然而,很难称这样的解决方案简单。如果数组b是 type double,那么代码会更短更简单: long[] a = DoubleStream.of(b) .mapToLong(e -> (long)e) .toArray(); 使用第三方库(例如 Guava)可以实现更简单、更短的解决方案。
使用 Guava 库:https ://github.com/google/guava
如果枚举意味着循环
for:那么您可以使用 Java 8 Stream 而不是循环:
然而,很难称这样的解决方案简单。如果数组
b是 typedouble,那么代码会更短更简单:使用第三方库(例如 Guava)可以实现更简单、更短的解决方案。