Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java如何传递其中泛型元素的列表_Java_Generics - Fatal编程技术网

java如何传递其中泛型元素的列表

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

我想创建一个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);
            }
        });
    }
}
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){
...

Make
handleList
generic?@Stefan Haha肯定:p