繁体   English   中英

从内部记录访问非静态外部上下文

[英]Access non-static outer context from within inner record

免责声明自从我在这里问问题以来已经有一段时间了,所以请对我温柔一点:)

我正在尝试从我的业务 object 中生成一个 state,理想情况下它应该保持封装状态。 我的想法是定义一个具有内部表示的 class,并有办法返回 state object,稍后将映射到不同的视图表示。 所以我想象了这样的事情:

State state = order.State();

其中 Order 和 State 定义如下:

public class Order {
    private String identifier;

    record State(String number) {
        public State() {
            this(identifier);
        }
    }
}

所以我的问题是我如何定义我的内部记录和我的外部 class 之间的关系,以便我可以访问实例属性(理想情况下使用默认记录构造函数)和 map 它们进入不可变结构而不会遇到 static,非静态上下文问题?

(我排除了在外部类上创建其他方法的可能性,例如: toState()

将方法从记录移至 class。

public class Order {
    private String identifier;

    public State state() {
        return new State(identifier);
    }

    record State(String number){}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM