gpt4 book ai didi

java如何传递其中通用元素的列表

转载 作者:行者123 更新时间:2023-12-01 07:43:20 26 4
gpt4 key购买 nike

我想创建一个 Util 来处理列表中任何可能的类型,所以我编写了以下代码:

class Util{
static class Data<T>{
String message; T raw; boolean report;
Data(String m, T d, boolean b){ message=m; raw=d; report=b;}
}

interface Callback{ public void report(int idx); }

static void handleList(List<Data> list, Callback cb){
for(int i=0; i<list.size(); i++) if(list.get(i).report) cb.report(i);
}

public static void main(String[] args){
List<Data<Float>> list = new ArrayList<Data<Float>>();
list.add(new Data<Float>("iPhone", 3000f, false));
list.add(new Data<Float>("iPad", 999.5f, true));
handleList(list, new Callback(){
@Override
public void report(int idx){
Data<Float> data = list.get(idx);
System.out.println(data.message+": "+list.get(idx).raw);
}
});
}
}

在修改方法 handleList 之前,我无法编译代码参数类型 List<Data<Float>> ,但这不是我的目的,因为我想重用 handleList对于列表中的任何类型的数据。我该怎么办?

最佳答案

你就快到了。只需使handleList通用即可:

static <L> void handleList(List<Data<L>> list, Callback cb) {
...

关于java如何传递其中通用元素的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60950637/

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