2016-08-06 74 views

回答

3

有可能用var覆蓋val,因爲後面有更多信息比前者更多。

A var財產封裝了getset,而val僅包含get。這樣var覆蓋valget並添加其set(因爲爲什麼不)。

反過來顯然是不正確的。

+0

這就是我想的。不用擔心,我設計了一種解決方案,無論如何都適用於我的目的。保持一個布爾值,指示是否已經設置了var。在set方法中,檢查布爾值。如果它是false,則修改var並將其設置爲true。否則,忽略它,不要設置任何東西。然後,不能進行進一步的修改。 –

+0

嗯,這看起來不像最初的問題,但無論如何。看看[委託屬性](https://kotlinlang.org/docs/reference/delegated-properties.html)。你需要的東西與'Delegates.notNull()'非常相似,只是稍作修改。 – voddan

+0

您可以從這裏執行此操作:https://youtrack.jetbrains.com/issue/KT-7180​​。不要忘記投票;) – voddan