表驱动法

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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值