gpt4 book ai didi

java - 在运行时创建 Java 语句

转载 作者:行者123 更新时间:2023-12-02 04:48:43 25 4
gpt4 key购买 nike

是否可以在运行时创建并执行java语句。

这样的声明:

Query q = new Query("type").setFilter(filter1).setFilter(filter2).setFilter(filter3).setFilter(filterN);

我想要解决的问题是,这里的 Query 对象是不可变的,我想在运行时根据给定的一组参数或参数来构建它。

将其包含在如下方法中:

Query query = buildQueryFromArgs(type, filterList); 

buildQueryFromArgs 方法本质上会在顶部创建 java 语句。

不能这样做:

for(Filter filter : filters){
query = query.setFilter(filter);
}

因为这里将发生的是最后一个过滤器将是唯一应用的过滤器。除非我们这样做 query.setFilter(f1).setFilter(f2).setFilter(andSoOn);

最佳答案

为什么不使用构建器?

类似这样的事情:

QueryBuidler qb = new QueryBuilder(type);
for (Filter f : filterList)
qb = qb.setFilter(f);
Query query = qb.build();

当然,build() 方法可能只调用接受过滤器类型和列表(或数组)的 Query 构造函数,因此也许您可以简单地首先调用该构造函数并跳过 QueryBuilder 类.

关于java - 在运行时创建 Java 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com