【发布时间】:2011-03-01 16:19:16
【问题描述】:
我是Java初学者,我想写一些这样的代码:
TEST(myfunction(1, 2, 3));
TEST 是:
- C 中使用的宏
- 需要函数地址的函数 myfunction
在我的代码中,我希望 TEST 做一些代码:
TEST(function) {
if (function())
// code
else
//code
}
我知道指针在 Java 中不可用。 有什么想法可以帮助我吗?
[编辑] 这是另一个例子:
TEST(myfunction(1, 2, 3));
执行测试的地方:
void TEST (function(args[])) {
try {
function();
}
catch (Exception e) {
// Exception happened !
}
}
多亏了这一点,只需要一行代码,我就可以使用 try catch 了!
【问题讨论】:
-
看起来它可以简单地替换为具有单个布尔参数的函数定义...如:public boolean test(boolean b) { ... }...
-
@perp 不,我不能将布尔值作为参数传递。我需要调用 TEST 中的函数来执行它并使用返回值进行一些处理
-
with only one code line, I will be able to use try catch !。请不要这样做。在 Java 中你使用异常,如果你不想要它们,那么就不要使用 Java。 -
@Ishtar 我从来没有说过我不想使用异常!我只想在一行中写几行。我在 C 中使用宏很容易做到这一点,我尝试在 Java 中做同样的事情
-
实际上,当您遇到异常时,它是异常的,您不想像什么都没发生一样继续,(这似乎是假设)