gpt4 book ai didi

java - 自定义大括号方法

转载 作者:行者123 更新时间:2023-11-30 03:37:50 24 4
gpt4 key购买 nike

在java中,一些标准库方法(也许它们实际上不是方法?)具有以下格式:

keyword(condition or statements) {
//write your code here
}

这包括 if 语句、for 循环、while 循环 do-while-loop 等。

for(initialValue = n; conditionForLoopToContinue; incrementOrDecrement) {
//write your code
}

您也可以像这样启动匿名线程:

new Thread() {
//write your code here
}.start();

我想知道的是我们可以创建我们自己的具有这种大括号格式的方法(或者它们实际的名称)吗?

因此,例如,我会编写一个“until”方法,如下所示:

int a = 0;
until(a == 10) {
a++;
}

其中,until(a == 10) 相当于 while(a != 10)。

当然,上面的例子不允许我们做任何新的事情(我们只能使用 while 循环),但是这个问题的目的是找出我们是否可以编写“自定义大括号方法”。

此外,如果你们知道任何具有此功能或类似功能的语言,请告诉我。

感谢您提前提供的任何帮助!

最佳答案

您无法实现自己的关键字。您当然可以创建自己的类的匿名子类,即您可以这样做

new YourOwnClass() {
// write your code here
}.launch();

如果你愿意的话。

使用 Java 8,您可以进一步了解您所要求的大括号语法。这是我尝试使用 lambda 模拟您的 util 方法:

public class Scratch {

static int a;

public static void until(Supplier<Boolean> condition, Runnable code) {
while (!condition.get())
code.run();
}

public static void main(String[] args) {
a = 0;
until(() -> a == 10, () -> {
System.out.println(a);
a++;
});
}
}

输出:

0
1
2
3
4
5
6
7
8
9

请注意,在这个稍微做作的示例中存在一些限制。例如,由于闭包,a 需要是一个字段或常量变量。

关于java - 自定义大括号方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com