Java整数(java.lang.Integer)数组除法等数学运算

Java Integer (java.lang.Integer) Array division and other math operations

我想划分一个java.lang.Integer数组并将结果保存到一个java.lang.Double数组中。我在互联网上搜索并找不到有用的信息(大多数关于 java.lang.Integer class 的搜索导致原始类型 int 操作,如 Division of integers in Java, and this )。

我的以下代码不起作用

    Integer[] FixedDays = {1, 2, 7, 14, 30, 60, 90, 180, 548, 730, 1095, 1460, 1825};
    Double[] Ts = FixedDays / 365.0;

关于 java.lang.Integer(或更一般地,数字 class 和其他基本数学运算)是否有快速除法的方法?有没有支持这种数字数组运算的数学包?

您可以使用 Java Streams 非常简洁地做到这一点:

Arrays.stream(FixedDays).map(i -> i / 365.0).toArray();

double[] doubles = Arrays.stream(FixedDays)
                         .map(i -> i / 365.0)
                         .mapToDouble(Double::doubleValue)
                         .toArray();

Double[] Ts = Arrays.stream(FixedDays)
                    .map(i -> i / 365.0)
                    .toArray(Double[]::new);

你必须遍历每个元素

Integer[] FixedDays = {1, 2, 7, 14, 30, 60, 90, 180, 548, 730, 1095, 1460, 1825};
Double[] Ts = new Double[FixedDays.length];
        
for(int i = 0; i < FixedDays.length; i++) {
  Ts[i] = FixedDays[i] / 365.0;
}

或者您可以使用流来获得更简洁的解决方案