当前位置: 技术问答>java相关
c++里有函数指针,java里没有,如果我想实现这样的功能,该怎么做呢?请进。。。
来源: 互联网 发布时间:2015-11-13
本文导语: if(str == "do1") { this.do1; } if(str == "do2") { this.do2; } //这里关键是我事先并不知道这样的string和函数间的对应关系,而是用某种注册的方式,将string和函数关联起来,在c++中,只要调用某个string对应的函数指针就...
if(str == "do1")
{
this.do1;
}
if(str == "do2")
{
this.do2;
}
//这里关键是我事先并不知道这样的string和函数间的对应关系,而是用某种注册的方式,将string和函数关联起来,在c++中,只要调用某个string对应的函数指针就可以,java该怎么做呢?
{
this.do1;
}
if(str == "do2")
{
this.do2;
}
//这里关键是我事先并不知道这样的string和函数间的对应关系,而是用某种注册的方式,将string和函数关联起来,在c++中,只要调用某个string对应的函数指针就可以,java该怎么做呢?
|
可以使用class的方法,有名字来定位方法:
public Method getMethod(String name,
Class[] parameterTypes)
throws NoSuchMethodException,
SecurityException
public Method getMethod(String name,
Class[] parameterTypes)
throws NoSuchMethodException,
SecurityException
|
没太明白你的意思,不过建议好好看一看java.lang.String 这个类里的方法。应该有你想要的。
|
哈哈,那你就要自己写很多代码的哦。
具体的这种类似GP编程的实现,你可以参考Comparable接口的。
不过,JAVA中的实现跟C++是不一样的,有点象function object的用法,你需要变通一下
具体的这种类似GP编程的实现,你可以参考Comparable接口的。
不过,JAVA中的实现跟C++是不一样的,有点象function object的用法,你需要变通一下