Record在java1.8中的分组问题

public class User{
    private int age;
    private int value;
    
    public int getAge(){return age;}
    public int getValue(){return value;}
}

对于普通的poji类用java1.8进行分组,我们会这么写:

List<User> userList = ...; //查询数据库得到user集合
Map<Integer, List<User>> map = userList.stream().collect(Collectors.groupingBy(User::getAge));

这样就可以得到以age分组的各个集合了。



但是在jfinal里我用的是Record类,里面并没有getAge这样的方法,而是用的x.getInt("age")这样的方法获取数据

List<Record> userList = Db.find("select value,age from user");//查询数据库得到user集合
Map<Integer, List<Record>> map = userList.stream().collect(Collectors.groupingBy(Record::getInt("age")));//代码有错误

Record::getInt("age")这里代码有错误,请问该怎么修改才能达到上面的效果?

求各路大神帮忙


评论区

JFinal

2017-08-25 11:42

代码有错误是什么意思?

yi大师

2017-08-25 14:10

@JFinal 提示:Syntax error on token "getInt", AssignmentOperator expected after this token

linuxea

2017-08-25 14:19

@yi大师 Collectors.groupingBy(r -> r.getInt("age"));//这样也不行吗?

JFinal

2017-08-25 14:30

@yi大师 这个是 java 语言层面的语法错误而已,改下就好

yi大师

2017-08-25 15:02

@linuxea 改好了,谢了

jiangye

2020-05-13 16:05

@linuxea 特地上号过来感谢大佬 帮大忙了