相关疑难解决方法(0)

Kotlin 中带有 val 的循环引用

在 Kotlin 中,假设我有data class A (val f: B)data class B (val f: A)。我想初始化 localvar a: Avar b: Bisa.fbis b.f。并且必须保留 vals。这种循环实例化可能吗?aA.fB.f

data class A(val f: B)

data class B(val f: A)

fun foo() {
    var a: A
    var b: B
    // instantiate a and b here with a.f == b and b.f == a ??
}
Run Code Online (Sandbox Code Playgroud)

immutability circular-reference kotlin

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

Java - 枚举 - 逻辑循环引用

想象一下以下组成的例子:

public enum Hand {
  ROCK(SCISSORS),
  PAPER(ROCK),
  SCISSORS(PAPER);

  private final Hand beats;

  Hand(Hand beats) {
    this.beats = beats;
  }
}
Run Code Online (Sandbox Code Playgroud)

我将收到Illegal forward reference前向引用的错误SCISSORS.


有没有办法在Java中处理这样的前向引用?

或者你会如何模拟这种情况,你在几个枚举值之间有一个逻辑循环引用?

java enums forward-reference circular-reference

3
推荐指数
1
解决办法
659
查看次数