gpt4 book ai didi

java - 生成数组类型,例如 Object[].class

转载 作者:搜寻专家 更新时间:2023-10-31 19:59:57 26 4
gpt4 key购买 nike

我正在尝试生成以下类:

public class FooService {

private Client client;

public Foo get(Long id) {
return client.get(id, Foo.class);
}

public List<Foo> query() {
return Arrays.asList(client.get(Foo[].class));
}

}

一切正常,除了 Foo[].class:

public abstract class BaseService<T, I> {

private Client client;
private Class<T> type;

public BaseService(Class<T> type) {
this.type = type;
}

public T get(I id) {
return client.get(id, type);
}

public List<T> query() {
return Arrays.asList(client.get(/* What to pass here? */));
}

如何在不像处理 Foo.class 那样在构造函数中传递 Foo[].class 的情况下解决这个问题?

最佳答案

Java 缺乏直接从元素类获取数组类的工具。一个常见的解决方法是从零长度数组中获取类:

private Class<T> type;
private Class arrType;

public BaseService(Class<T> type) {
this.type = type;
arrType = Array.newInstance(type, 0).getClass();
}

您现在可以将 arrType 传递给 client.get(...) 方法。

关于java - 生成数组类型,例如 Object[].class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46341526/

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