私は実際にそれが問題だとはっきりとは分かりません。しかし、これはJavaのだったら、私はマップを返すようにbounds
機能を望む私は、デリゲートとしてlazy
を使用しようとしていますし、私はコンパイルエラーにKotlinクラスプロパティの遅延初期化はコンパイルされません
data class Geocode(var latitude: Double, var longitude: Double) : Comparable<Geocode> {
override fun compareTo(other: Geocode): Int {
var result = this.latitude.compareTo(other.latitude)
if (result == 0)
result = this.longitude.compareTo(other.longitude)
return result
}
}
data class HubKt(val position:Geocode) {
}
data class Example(val hubs:Collection<HubKt>) {
val bounds:Any by lazy {
object {
val ne: this.hubs.map { h -> h.position }.max()
val sw: this.hubs.map { h -> h.position }.min()
}
}
}
を取得しています:
public Map<String,Geocode> getBounds() {
Geocode ne = geos.stream().max(Geocode::compareTo).get();
Geocode sw = geos.stream().min(Geocode::compareTo).get();
return ImmutableMap.of("ne",ne,"sw",sw);
}
私はこの問題を考えます正しいthis
を使用していません。私は[email protected]
を試しました。地獄、私はそれを過度に複雑にするかもしれない。洞察に感謝します。問題の現在のコードに基づいて
コンパイルエラーを表示する必要があります。そして、怠け者の中から "戻る"を取り除くと、あなたはラムダのときに戻りません。 –
また、依存性の少ないサンプルを作成できますか? –
すぐに更新されます –