java如何传递其中泛型元素的列表
我想创建一个Util来处理列表中任何可能的类型,因此我编写以下代码:java如何传递其中泛型元素的列表,java,generics,Java,Generics,我想创建一个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 i
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);
}
});
}
}
class-Util{
静态类数据{
字符串消息;T原始;布尔报告;
数据(字符串m,td,布尔值b){message=m;raw=d;report=b;}
}
接口回调{public void report(int idx);}
静态void handleList(列表、回调cb){
对于(inti=0;i,只需使用参数化类型作为绑定数据的方法
handleList(列表,回调cb){
//代码
}
您就快到了。只需将handleList设置为通用:
static <L> void handleList(List<Data<L>> list, Callback cb) {
...
static void handleList(列表,回调cb){
...
MakehandleList
generic?@Stefan Haha肯定:p