我有以下代码迭代 Cookies
以重置名称与 CookieSession.NAME
匹配的 cookie>
Cookie[] cookies = httpServletRequest.getCookies();
LOGGER.info("Clearing cookies on welcome page");
if (cookies != null)
for (Cookie cookie : cookies) {
if (cookie.getName().equals(CookieSession.NAME)) {
cookie.setValue(null);
cookie.setMaxAge(0);
cookie.setPath("/");
httpServletResponse.addCookie(cookie);
}
}
有人可以使用 java 8 lambda 表达式简化它吗
最佳答案
不确定是否会简化,但可以做到,是的:
Arrays.stream(cookies)
.filter(c -> c.getName().equals(CookieSession.NAME))
.forEach(cookie -> {
cookie.setValue(null);
cookie.setMaxAge(0);
cookie.setPath("/");
httpServletResponse.addCookie(cookie);
});
关于java - 将数组迭代转换为 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36508530/