有没有办法将参数参数绑定到Java中的函数指针,就像在C++中使用std :: bind一样?Java相当于这样的东西是什么?
void PrintStringInt(const char * s, int n)
{
std::cout << s << ", " << n << std::endl;
}
void PrintStringString(const char * s, const char * s2)
{
std::cout << s << ", " << s2 << std::endl;
}
int main()
{
std::vector<std::function<void(const char *)>> funcs;
funcs.push_back(std::bind(&PrintStringInt, std::placeholders::_1, 4));
funcs.push_back(std::bind(&PrintStringString, std::placeholders::_1, "bar"));
for(auto i = funcs.begin(); i != funcs.end(); ++i){
(*i)("foo");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)