Properties

  public static void main(String[] args) throws UnsupportedEncodingException {
    Properties prop = System.getProperties();
    // 因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
    // 那么可以通过map的方法取出该集合中的元素。
    // 该集合中存储都是字符串。没有泛型定义。
    // 如何在系统中自定义一些特有信息呢?
    System.setProperty("mykey", "myvalue");
    // 获取指定属性信息。
    String value = System.getProperty("os.name");
    System.out.println("value=" + value);
    // 可不可以在jvm启动时,动态加载一些属性信息呢?
    String v = System.getProperty("haha");
    System.out.println("v=" + v);
    // 获取所有属性信息。
    for (Object obj : prop.keySet()) {
      String value1 = (String) prop.get(obj);
      System.out.println(obj + "::" + value1);
    }
  }

递归



	@Override
	public List<Menu> queryMenus() {
		List<Menu> pMenu = menuMapper.queryAllMenu();
		List<Menu> lists = pMenu.stream().filter(e -> e.getPid().equals("0")).map(root -> {
			root.setChild(getChildrens(root, pMenu));
			return root;
		}).collect(Collectors.toList());
		return lists;
	}

	// 递归查找所有菜单的子菜单
	private List<Menu> getChildrens(Menu root, List<Menu> all) {
		List<Menu> children = all.stream().filter(categoryEntity -> {
			return categoryEntity.getPid().equals(root.getId());
		}).map(categoryEntity -> {
			// 1、找到子菜单
			categoryEntity.setChild(getChildrens(categoryEntity, all));
			return categoryEntity;
		}).collect(Collectors.toList());
		return children;
	}

	// --------------------------------------------------------------------------------------
	@Override
	public List<Menu> queryMenus() {
		List<Menu> pMenu = menuMapper.queryParentMenu();
		return pMenu.stream().map(this::getChild).collect(Collectors.toList());
	}

	public Menu getChild(Menu mu) {
		List<Menu> child = menuMapper.queryMenuByParentID(mu.getId());
		if (null != child && child.size() > 0) {
			mu.setChild(child.stream().map(this::getChild).collect(Collectors.toList()));
		}
		return mu;
	}