java - java中的回调是什么?

标签 java callback

我这里有这段代码。 (此代码摘自《Thinking in Java 4th Edition》)

//{Args: "D.*\.java}
import  java.util.regex.*;
import java.io.*;
import java.util.*;

public class DirList {
    public static void main (String[] args){
        File path = new File(".");
        String[] list;
        if(args.length == 0)
            list = path.list();
        else
            list = path.list(new DirFilter(args[0]));

        Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);
        for(String dirItem : list ){
            System.out.println(dirItem);
        }
    }
}

class DirFilter implements FilenameFilter{
    private Pattern pattern;
    public DirFilter(String regex){
        pattern = Pattern.compile(regex);
    }

    public boolean accept(File Dir,String name){
        return pattern.matcher(name).matches();
    }
}

然后当我阅读它的解释时我遇到了这个

DirFilter’s sole reason for existence is to provide the accept( ) method to the list( ) method so that list( ) can "call back" accept( ) to determine which file names should be included in the list. Thus, this structure is often referred to as a callback.

回调具体是什么?

最佳答案

回调是您向正在使用的库提供的一种方法,以便该库可以调用您的方法来执行工作(或者更确切地说,回调您的代码,从而得名)。

更一般地说,任何两层代码都可以通过回调函数进行交互。

关于java - java中的回调是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838917/

相关文章:

javascript - 如果一个函数在另一个函数内部执行,它会立即符合回调函数的条件吗?

android - weakreference vs eventbus以避免内存泄漏android?

javascript - 如何摆脱 JavaScript 中的绑定(bind)情况

javascript - 修改对象属性时如何触发回调?

java - 如何在连接 JPA/Ebean 上定义多个条件

java - 生成具有任意数量节点的 XML

java - java中的电话键盘无法正常工作

javascript - 如何从回调函数返回两个数字中最大的一个?

java - 如何将我的通话设置为对其他人保密?

java - 如何进行分页请求 - Spring boot