做用:將一個List中的實體類轉化爲另外一個List中的實體類。java
稍微方便一點。例如:將List<Student>轉化爲List<StudentVo>apache
Student:app
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); } }
StudentVo:ide
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); } }
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]]
依賴:ui
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>19.0</version> </dependency>