比如,一个人可以有多件衣服,那么怎么去实现呢
比较好的方法是写一个外部类,那么很轻松可以实现
所以这种比较,但是内部可以实现:
package com.ihrm.system.shiro.realm.lamda;
import java.util.List;
public class Person {
private String name;
private List<Clothes> arr;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Clothes> getArr() {
return arr;
}
public void setArr(List<Clothes> arr) {
this.arr = arr;
}
class Clothes{
private String color;
private String size;
public Clothes(String color, String size) {
this.color = color;
this.size = size;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
}
那么在查询数据库的时候,将内容输出进入就可以了,这种也可以实现:
但是如果结合mybatis可能就不是那么轻松了,需要去遍历前的list,对于这点如果用过colection标签的人就知道了
所以这种方式是比较常见的
package com.ihrm.system.shiro.realm.lamda;
import java.util.ArrayList;
import java.util.List;
public class Demo {
public static void main(String[] args) {
Person person = new Person();
person.setName("111111");
List<Person.Clothes > arr =new ArrayList<>();
arr.add(person.new Clothes("1","2"));
arr.add(person.new Clothes("1","3"));
person.setArr(arr);
System.out.println(person.getName());
System.out.println(person.getArr());
for (Person.Clothes a :person.getArr()){
System.out.println(a.getColor());
}
}
}
可以得出。也可以在项目中使用,但是不是很容易维护
package com.ihrm.system.shiro.realm.lamda;
import java.util.List;
public class Person {
private String name;
private List<Clothes> arr;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Clothes> getArr() {
return arr;
}
public void setArr(List<Clothes> arr) {
this.arr = arr;
}
class Clothes{
private String color;
private String size;
public Clothes(String color, String size) {
this.color = color;
this.size = size;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
}