zoukankan      html  css  js  c++  java
  • guava Lists.transform使用

    作用:将一个List中的实体类转化为另一个List中的实体类。

    稍微方便一点。例如:将List<Student>转化为List<StudentVo>

    Student:

    package com.cy.model;
    
    import org.apache.commons.lang3.builder.ToStringBuilder;
    import org.apache.commons.lang3.builder.ToStringStyle;
    
    public class Student{
        private String id;
        private String name;
        private String stuNo;
        private String address;
        private String good;
    
        public Student(){
    
        }
    
        public Student(String id, String name, String stuNo, String address, String good) {
            this.id = id;
            this.name = name;
            this.stuNo = stuNo;
            this.address = address;
            this.good = good;
        }
    
        public String getGood() {
            return good;
        }
    
        public void setGood(String good) {
            this.good = good;
        }
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getStuNo() {
            return stuNo;
        }
    
        public void setStuNo(String stuNo) {
            this.stuNo = stuNo;
        }
    
        public String getAddress() {
            return address;
        }
    
        public void setAddress(String address) {
            this.address = address;
        }
    
        @Override
        public String toString() {
            return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
        }
    }
    View Code

    StudentVo:

    package com.cy.vo;
    
    import com.cy.model.Student;
    import org.apache.commons.lang3.builder.ToStringBuilder;
    import org.apache.commons.lang3.builder.ToStringStyle;
    
    public class StudentVo {
        private String student_id;
        private String name;
        private String student_no;
    
        public StudentVo(){
    
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getStudent_id() {
            return student_id;
        }
    
        public void setStudent_id(String student_id) {
            this.student_id = student_id;
        }
    
        public String getStudent_no() {
            return student_no;
        }
    
        public void setStudent_no(String student_no) {
            this.student_no = student_no;
        }
    
        @Override
        public String toString() {
            return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
        }
    }
    View Code
    package com.cy.test.guava;
    
    import com.cy.model.Student;
    import com.cy.vo.StudentVo;
    import com.google.common.base.Function;
    import com.google.common.collect.Lists;
    import org.apache.commons.beanutils.BeanUtils;
    import java.util.ArrayList;
    import java.util.List;
    
    public class GuavaTest {
    
        public static void main(String[] args) {
            //guava Lists.transform测试
    
            List<Student> studentList = new ArrayList<>();
            studentList.add(new Student("1","zhangsan","no-001", "zhaotan", "true"));
            studentList.add(new Student("2","lisi","no-002", "qingshan", "true"));
            studentList.add(new Student("3","wangwu","no-003", "guangang", "false"));
            System.out.println(studentList);
    
            List<StudentVo> studentVoList = Lists.transform(studentList, new Function<Student, StudentVo>() {
                @Override
                public StudentVo apply(Student student) {
                    StudentVo s = new StudentVo();
                    try {
                        BeanUtils.copyProperties(s, student);
                    } catch (Exception e) {
                    }
                    s.setStudent_id(student.getId());
                    s.setStudent_no(student.getStuNo());
                    return s;
                }
            });
            System.out.println(studentVoList);
        }
    }

    打印:

    [Student[id=1,name=zhangsan,stuNo=no-001,address=zhaotan,good=true], Student[id=2,name=lisi,stuNo=no-002,address=qingshan,good=true], Student[id=3,name=wangwu,stuNo=no-003,address=guangang,good=false]]
    [StudentVo[student_id=1,name=zhangsan,student_no=no-001], StudentVo[student_id=2,name=lisi,student_no=no-002], StudentVo[student_id=3,name=wangwu,student_no=no-003]]

    依赖:

    <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
         <version>19.0</version>
    </dependency>
  • 相关阅读:
    受益一生的15个学习习惯
    如何在工作的头三年里让自己变得强大
    linux定时执行脚本
    SpringMVC基础入门
    Spring与Quartz的整合实现定时任务调度[转]
    强肝保肝养肝4大食物
    Spring官网jar包下载方法
    tomcat管理端的页面安全措施
    Struts2 Action 动态传参数
    Java之控制反转和依赖注入
  • 原文地址:https://www.cnblogs.com/tenWood/p/10523024.html
Copyright © 2011-2022 走看看