内部类的使用

比如,一个人可以有多件衣服,那么怎么去实现呢

比较好的方法是写一个外部类,那么很轻松可以实现

所以这种比较,但是内部可以实现:

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;
}
}
}
posted @ 2019-11-14 23:29  菩提树下的丁春秋  阅读(213)  评论(0编辑  收藏  举报