在Java中,可以通过使用方法链(Method Chaining)的方式实现类似JavaScript中的链式调用语法。

首先,需要定义一个包含查询方法的类,例如DB类:

public class DB {
    private Map<String, Object> params;
    
    public DB query(Map<String, Object> params) {
        this.params = params;
        return this;
    }
    
    public DB then(Consumer<List<Object>> callback) {
        List<Object> res = executeQuery();
        callback.accept(res);
        return this;
    }
    
    private List<Object> executeQuery() {
        // 执行查询逻辑,并返回结果列表
        List<Object> res = new ArrayList<>();
        // ...
        return res;
    }
}

然后,在调用时,可以使用链式调用的方式:

DB db = new DB();
db.query(params)
  .then(res -> {
      res = res != null ? res : new ArrayList<>();
      if (res.size() > 0) {
          // 处理非空结果
          // ...
      } else {
          // 处理空结果
          // ...
      }
  });

在上述示例中,DB类中的query方法返回了当前对象本身,即DB对象,以便后续可以继续调用其他方法。then方法则接受一个Consumer回调函数,用于处理查询结果。

需要注意的是,Java的链式调用语法并不像JavaScript中那样自动传递上一个函数的返回值,需要手动返回当前对象本身

Java怎么实现类似js这种链式调用的语法?调用起来是这样的 dbqueryuserId thenres = res = res ; ifreslength 0 else

原文地址: https://www.cveoy.top/t/topic/hzxy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录