Function<参数,返回值> f
f.apply(参数)
f可以是:类名::方法名
HashMap<String, Function<Request, byte[]>> map = new HashMap<>();
map.put("/todo", RouteTodo::indexView);
map.put("/todo/add", RouteTodo::add);
map.put("/todo/delete", RouteTodo::delete);
其中:Function<Request,byte[]>,为参数,返回值
HashMap自带getOrDefault函数:
public V getOrDefault(Object key, V defaultValue) {
Node<K,V> e;
return (e = getNode(hash(key), key)) == null ? defaultValue : e.value;
}
Function.java
// 表驱动法
HashMap<String, Function<Request, byte[]>> routeMap = Route.routeMap();
Function<Request, byte[]> getF = routeMap.getOrDefault(request.path, Route::route404);
byte[] response = getF.apply(request);