小编Adr*_*ian的帖子

推断的类型不符合无关变量的等式约束错误

我有以下代码

public class TeeingCollector {

    public static void main(String[] args) {
        //        var strs = List.of("abc");
        var dividedStrings = Stream.of("foo", "hello", "bar", "world")
            .collect(Collectors.teeing(
                        Collectors.filtering((String s) -> s.length() <= 3, Collectors.toList()),
                        Collectors.filtering((String s) -> s.length() > 3, Collectors.toList()),
                        List::of
                        ));
        System.out.println(dividedStrings);
    }
    private static class Employee {
        boolean isActive;

        public Employee(boolean isActive) {
            this.isActive = isActive;
        }

        public boolean isActive() {
            return isActive;
        }

        @Override
            public String toString() {
                return "Employee{" +
                    "isActive=" + isActive +
                    '}';
            }
    }
    private …
Run Code Online (Sandbox Code Playgroud)

java javac java-12

8
推荐指数
1
解决办法
456
查看次数

如何在单个流中对对象列表进行分组,计数和求和并存储在另一个对象列表中?

我试图使用java流和集合从对象列表中获取分组,计数和求和。我不确定如何达到期望的结果。

输入模型

String month;
BigDecimal salary;
String department;
String noOfEmp;
Run Code Online (Sandbox Code Playgroud)

InputModel [(May,100,IT,10),(June,300,IT,7),(July,300,IT,7),(May,1000,HR,5),(June,300,HR,7 ),(7月600,HR,5)]

输出模型

String month
BigDecimal salary
String noOfEmp
Run Code Online (Sandbox Code Playgroud)

预期输出 OutputModel [(May,1100,15),(June,600,14),(July,900,12)]

我尝试了下面的代码,但它返回了group by和Count。

Map<String, Integer> result= inputModels.parallelStream().collect(Collectors.groupingBy(InputModel::getMonth,
            LinkedHashMap::new, Collectors.summingInt(InputModel::getNoOfEmp)));
Run Code Online (Sandbox Code Playgroud)

提前致谢!!!

java collections java-8 java-stream

5
推荐指数
1
解决办法
84
查看次数

当我有两个同名方法时,如何在JAVA中指定lambda表达式?

当我有两个同名方法时,如何在JAVA中指定lambda表达式?

JAVA8

package com.gsy;  

import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.net.URL;  
import java.util.ArrayList;  
import java.util.Collections;  
import java.util.Comparator;  
import java.util.Date;  
import java.util.ResourceBundle;  

public class EmailProperty {  
    public static void main(String args[]) {  


    }  
    interface qqq{  
        int a(int a);  
    }  
    interface ppp{  
        int a(int b);  
    }  
    class test{  
        int a;  
        int b;  
        int testa(int a,int b,qqq qqq){  
            return 1;  
        }  
        int testa(int a,int b,ppp ppp){  
            return 1;  
        }  
    }  
    public EmailProperty() {  
        test aaa = new test();  
        aaa.a = …
Run Code Online (Sandbox Code Playgroud)

java java-8

4
推荐指数
1
解决办法
45
查看次数

针对上述情况如何使用Java 8 Optional?

假设我有一个pojo Medicine,

class Medicine{
    private String xmedicine;
    private String ymedicine;
    private String zmedicine;

    //getter and setter here....
}
Run Code Online (Sandbox Code Playgroud)

如果Medicine不为null,则用于收集药物的API下方。

public List<Map<String, Object>> gettMedicine(Medicine medicine) {
        List<Map<String, Object>> detailsList = null;

        List<Integer> list = new ArrayList<>();

        if(null != medicine.getXmedicine()){
            list.add(medicine.getXmedicine());                              
        }
        if(null != medicine.getYmedicine()){
            list.add(medicine.getYmedicine());                              
        }
        if(null != medicine.getZmedicine()){
            list.add(medicine.getZmedicine());                              
        }
        if(!CollectionUtils.isEmpty(list)) {
            detailsList = //calling other API to get details from list;
        }
        return detailsList;
}
Run Code Online (Sandbox Code Playgroud)

最好在Optional这里使用Java 8 来消除,NullPointerException因为我有多个空检查使我的代码样本化。

如果是,那么您能建议我Optional在这里使用吗?

java optional java-8

2
推荐指数
1
解决办法
47
查看次数

标签 统计

java ×4

java-8 ×3

collections ×1

java-12 ×1

java-stream ×1

javac ×1

optional ×1