java匿名类使用

经典使用:本例经常用
匿名内部类使用:等于传入一个函数指针,执行一个callback.将子函数中的result,传回给class的成员变量
    

 private List<ConfigData> setConfigValues(...) { 
        handler.apply(new SetAttrAssistant() {//传入匿名对象
            //类成员函数
            public boolean setConfigData(Collection<ConfigData> items) {
            //匿名类,使用外部类的成员变量configDataList保存数据,而items正是子函数计算的result
                configDataList.addAll(items);
            }
        });    
    }
    
    public void apply(SetAttrAssistant assistant) {
        if (assistant != null) {
            List<ConfigData> tupleOfData = Lists.newArrayList();
            for (Map.Entry<String, String> config : profile.entrySet()) {
                ConfigData data = convertConfigData(config.getKey(), config.getValue());
                tupleOfData.add(data);
            }
            assistant.setConfigData(tupleOfData);//执行匿名对象的setConfigData函数。
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章