小编Jua*_*olo的帖子

为什么我不能把enum的内部课程公开?

测试了一些东西我尝试做一个枚举,其中枚举中的每个元素都有一个不同的类.

举个例子:

public enum MyEnum {

    first{
        class First{}
    },
    second {
        class Second{}
    };
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试在任何类之前放置一个公共修饰符,则此处不允许使用修饰符.我不太清楚为什么会这样.我不能在枚举之外实例化这些类,也不能看到它们.但是我可以设法让实例这样做:

public enum MyEnum {

    first{
        class First{}

        public Object getObject(){
            return new First();
        }
    },
    second {
        class Second{}

        public Object getObject(){
            return new Second();
        }
    };

    public abstract Object getObject();
}


public class Main {
    public static void main(String[] args) {
        System.out.println(MyEnum.first.getObject().getClass());
        System.out.println(MyEnum.second.getObject().getClass());
    }
}
Run Code Online (Sandbox Code Playgroud)

随着输出:

class MyEnum $ 1 $ First

class MyEnum $ 2 $秒

我可以清楚地引用这个类,为什么我不能在编译时访问它?

java enums java-8

5
推荐指数
1
解决办法
201
查看次数

Rubymine Linux - 没有为项目配置Ruby解释器

我决定购买RubyMine 8.0(学生版).

我已经安装了Ruby,我可以从终端运行Ruby脚本.但是,我不能让RubyMine检测到这个解释器,我似乎无法设置它.

有没有必要的宝石?什么是宝石?

[我收到此错误]

ruby rubymine ubuntu-14.04

2
推荐指数
1
解决办法
1130
查看次数

标签 统计

enums ×1

java ×1

java-8 ×1

ruby ×1

rubymine ×1

ubuntu-14.04 ×1