Хотя еще один ответ правильный, удаление файла cookie из веб-приложения express.js выполняется путем вызова следующего метода:
res.clearCookie("key");
Ваши параметры cookie (за исключением срока действия) должны быть такими же, как и при его установке. В противном случае браузеры НЕ удалят куки. Поэтому используйте тот же домен, настройки безопасности и т. Д. (Ссылка: https://expressjs.com/en/4x/api.html#res.clearCookie )
К сожалению, лямбда-выражения в Java отсутствуют до тех пор, пока в Java 8 не появятся лямбда-выражения . Однако вы можете получить почти тот же эффект (действительно уродливым способом) с анонимными классами:
interface MyLambda {
void theFunc(); // here we define the interface for the function
}
public class Something {
static void execute(MyLambda l) {
l.theFunc(); // this class just wants to use the lambda for something
}
}
public class Test {
static void main(String[] args) {
Something.execute(new MyLambda() { // here we create an anonymous class
void theFunc() { // implementing MyLambda
System.out.println("Hello world!");
}
});
}
}
Очевидно, они должны быть в отдельных файлах: (
Я не думаю, что есть точный эквивалент, однако есть анонимные классы, которые настолько близки, насколько это возможно. Но все же совсем другое. Джоэл Спольски написал статью о том, как студенты, изучающие только Java, упускают из виду эти красоты программирования в функциональном стиле: Может ли ваш язык программирования делать это? .
Одна идея основана на общем публичном интерфейсе Lambda
- см. http://www.javalobby.org/java/forums/t75427 .html .
В некоторой степени аналогично интерфейсу Зифра, вы можете создать интерфейс таким образом
public interface myLambda<In, Out> {
Out call(In i);
}
, чтобы вы могли писать, скажем
Function<MyObj, Boolean> func = new Function<MyObj, Boolean>() {
public Boolean callFor(myObj obj) {
return obj.canDoStuff();
};
MyObj thing = getThing;
if (func.callFor(thing)) {
doSomeStuff();
} else {
doOtherStuff();
}
Он все еще немного неуклюжий, да, но у него есть как минимум ввод / вывод .