Эх сурвалжийг харах

使用optional的时候 判断再获取

王苗苗 5 сар өмнө
parent
commit
fd9df75220

+ 6 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/BusinessController.java

@@ -18,6 +18,7 @@ import com.ruoyi.common.enums.DataSourceType;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.datasource.DynamicDataSourceContextHolder;
+import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -330,7 +331,7 @@ public class BusinessController extends BaseController {
         ArrayList<Object> list0 = new ArrayList<>();
         list0.add("实际检测数量");
         list0.addAll(collect0);
-        list0.add(collect0.stream().reduce(Integer::sum).get());
+        collect0.stream().reduce(Integer::sum).ifPresent(list0::add);
         dates.add(list0);
 
         ArrayList<Object> list1 = new ArrayList<>();
@@ -462,6 +463,10 @@ public class BusinessController extends BaseController {
         System.out.println(head());
         System.out.println(DateUtils.getDate());
         System.out.println(String.join("", Collections.nCopies(3, " ")));
+
+        List<Integer> list = Collections.emptyList();
+        Integer i = list.stream().reduce(Integer::sum).get();
+        System.out.println("i = " + i);
     }
 
 }

+ 2 - 2
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusinessServiceImpl.java

@@ -151,8 +151,8 @@ public class BusinessServiceImpl implements IBusinessService {
                     //封装到对象
                     continuousAssayResultRes.setAssayName(assayName);
                     continuousAssayResultRes.setAssayCounts(assayCounts);
-                    continuousAssayResultRes.setMinVal(assayBasicList.stream().map(ContinuousAssayBasic::getResultConcentration).min(Double::compareTo).get());
-                    continuousAssayResultRes.setMaxVal(assayBasicList.stream().map(ContinuousAssayBasic::getResultConcentration).max(Double::compareTo).get());
+                    assayBasicList.stream().map(ContinuousAssayBasic::getResultConcentration).min(Double::compareTo).ifPresent(continuousAssayResultRes::setMinVal);
+                    assayBasicList.stream().map(ContinuousAssayBasic::getResultConcentration).max(Double::compareTo).ifPresent(continuousAssayResultRes::setMaxVal);
                     continuousAssayResultRes.setPassedRates(NumberUtils.getDoublePercentAndNLength(INT_4, ((double) passedCounts/(double)assayCounts), INT_2));
                     innerList.add(continuousAssayResultRes);
                     innerMap.put(assayName, innerList);