Próbuję przekonwertować double[]
na float[]
przy użyciu rachunku lambda Java 8. Do tej pory właśnie stworzyłem metodę zabawek, która powinna zostać zmieniona. Próba znalezienia pomocy na konwersję prymitywnych tablic. Najczęściej jest jakikolwiek sposób na pozbycie się konwersji guava, ponieważ konwersja na listę i powrót jest zbyt duża dla dużych tablic.Lambda na prymitywnych tablicach
import com.google.common.primitives.Floats;
public static float[] doubleToFloat(double[] vector) {
Float[] f = Arrays.stream(vector).<Float>mapToObj(x -> (float) x).toArray(Float[]::new);
return Floats.toArray(Arrays.asList(f));
}
Co ciekawe, nie ma wyspecjalizowanego strumienia dla 'Float' - istnieją tylko predefiniowane' IntStream', 'DoubleStream' i' LongStream'. W przypadku 'float' może się zdarzyć, że będziesz musiał wykonać całą tę dziwną pracę. – Makoto
Dlaczego trzeba to zrobić za pomocą rachunku lambda? –
@pbabcdefp do eksperymentowania. Próba znalezienia sposobu na pozbycie się pętli –