这是一个语法问题.
我正在查看一些开源文件,我遇到了一些我无法识别的语法,我希望你能为我清理它.
(这是从Main.java在犀牛调试器采取这里)
public static String[] processOptions(String args[])
{
String usageError;
goodUsage: for (int i = 0; ; ++i) {
if (i == args.length) {
return new String[0];
}
String arg = args[i];
if (!arg.startsWith("-")) {
processStdin = false;
fileList.add(arg);
String[] result = new String[args.length - i - 1];
System.arraycopy(args, i+1, result, 0, args.length - i - 1);
return result;
}
if (arg.equals("-version")) {
if (++i == args.length) {
usageError = arg;
break goodUsage;
}
int version;
try {
version = Integer.parseInt(args[i]);
} catch (NumberFormatException ex) {
usageError = args[i];
break goodUsage;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是什么goodUsage?这个语法的名称是什么,它用于什么?
mat*_*t b 16
它们是标签.它们习惯于能够将内部块分解成不是紧邻其周围的块.
以下是处理标签的Java语言规范的相关部分.
您可能以前没有看过它,因为99%的时间代码可以被重写为不使用这样的东西,这可能表明该方法做得太多了.
(另外我应该提到碰巧从搜索引擎遇到这个问题/答案的人,它不是新的语法 - 它自JLS版本之后就已存在.)
| 归档时间: |
|
| 查看次数: |
405 次 |
| 最近记录: |