加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java中的这种语法是什么?我不承认

发布时间:2020-12-15 02:05:50 所属栏目:Java 来源:网络整理
导读:这是一个语法问题. 我正在查看一些开源文件,我遇到了一些我无法识别的语法,我希望你能为我清理它. (这取自Rhino调试器here中的Main.java) public static String[] processOptions(String args[]) { String usageError; goodUsage: for (int i = 0; ; ++i) {
这是一个语法问题.

我正在查看一些开源文件,我遇到了一些我无法识别的语法,我希望你能为我清理它.

(这取自Rhino调试器here中的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,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;
                }

我的问题是什么是goodUsage?这个语法的名称是什么,它用于什么?

解决方法

它们是标签.它们习惯于能够将内部块分解成不是紧邻其周围的块.

Here is the relevant part of the Java Language Specification处理标签.

您可能以前没有看过它,因为99%的时间代码可以被重写为不使用这样的东西,这可能表明该方法做得太多了.

(另外我应该提到碰巧从搜索引擎遇到这个问题/答案的人,它不是新的语法 – 它自JLS版本之后就已存在.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读