方法名我有2种方法与名称如何创建“如果条件”的基础上在java中
firstMethod()
secondMethod()
我想有一个,如果基于方法名条件。
例如:
if (methodName.contains (firstMethod()))
{
}
else
{
}
是否有可能在Java中?
方法名我有2种方法与名称如何创建“如果条件”的基础上在java中
firstMethod()
secondMethod()
我想有一个,如果基于方法名条件。
例如:
if (methodName.contains (firstMethod()))
{
}
else
{
}
是否有可能在Java中?
可以使用reflection。
基本反射是一种从字符串传递给类,方法,构造函数和反之亦然的机制。
但不清楚你想如何使用它,所以我不知道如何更清楚。
在任何情况下,您需要获得对Method的引用。从类中可以用方法getName作为String获取该方法的名称。
一旦你有字符串,你可以比较他们通常使用字符串方法。
谢谢大家的建议。 – user2987894
Class.java
有一个方法#getDeclaredMethods
它返回一个数组,其中包含Method
对象,该对象反映了该类的所有声明方法。 Method
类继而具有#getName()
,其返回方法名称的String
表示。
你很可能真的不想这样做。相反,为什么没有你正在调用的方法有一个参数,并指出行为是什么。例如:
void firstMethod() {
someMethod(true);
}
void secondMethod() {
someMethod(false);
}
void someMethod(boolean fromFirstMethod) {
if (fromFirstMethod) {
// some code...
} else {
// some other code...
}
}
您是否事先知道方法名? – Hackerdarshi
是的,我知道方法名称本身之前[例如,这里firstMethod()和secondMethod()] – user2987894
你想知道如果方法**名称**包含**返回值**的另一种方法?为什么在天堂的名字你想要吗?你可以给我们你的真实世界的用例吗?为什么不使用这个字符串(因为你在编写代码时知道方法名)? –