作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Java (Android) 中有没有办法链接一个字符串和一个函数?我的目标是根据从单独方法接收到的字符串运行特定函数。
即如果 myString == "building"然后执行 buildingmethod();
我正在考虑像这样使用 HashMap:
HashMap<String,Runnable> hashDBTableUpdateRef = new HashMap<>();
hashDBTableUpdateRef.put("house",this.housemethod());
hashDBTableUpdateRef.put("shed",this.shedmethod());
hashDBTableUpdateRef.put("barn",this.barnmethod());
然后
String myString = getCalculatedString();
for (String s : hashDBTableUpdateRef) {
hashDBTableUpdateRed.get(s).run();
}
由于以下操作和自定义枚举,我无法真正创建带有参数的通用方法,例如 function anyBuilding(String buildingType)
。有什么想法吗? runnable
是前进的方向吗?
例如:
function housemethod() {
myHouseObject.runSomething();
}
function shedmethod() {
myShedObject.runSomething();
}
function barnmethod() {
myBarnObject.runSomething();
}
谢谢,
最佳答案
例如,您可以定义实现 Command
接口(interface)的枚举
interface Command {
void execute();
}
enum MyEnum implements Command {
A() {
public void execute() {
System.out.println("A");
}
},
B {
public void execute() {
System.out.println("B");
}
};
}
现在您需要做的就是将您的字符串转换为枚举 MyEnum.valueOf("someString");
并返回您可以调用 execute
方法的对象。
但仍然存在主要问题,为什么要这样做以及想要实现什么?因为这可能是更好的方法。
关于java - 将字符串链接到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32611011/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!