Почему вы можете вызывать некоторые методы без скобок, в то время как для других вы должны использовать скобки (Kotlin)? - PullRequest
0 голосов
/ 22 января 2020

В приведенном ниже примере, почему я могу вызвать nums.lastIndex БЕЗ использования скобок (например, nums.lastIndex), а для nums.isEmpty () мне нужно использовать скобки?

fun removeDuplicates(nums: IntArray): Int {
    if(nums.isEmpty()) return 0
    var forwardCounter = 0
    var newArrayIndex = 0
    while(forwardCounter != nums.lastIndex) {
        if(nums[newArrayIndex] < nums[forwardCounter + 1]) {
            newArrayIndex += 1
            nums[newArrayIndex] = nums[forwardCounter + 1]
        }
    forwardCounter += 1
    }
    return newArrayIndex + 1
}

1 Ответ

3 голосов
/ 22 января 2020

Поскольку lastIndex является свойством, а isEmpty() является функцией.

Обратите внимание, что Java метод получения без аргументов и метод установки с одним аргументом методы могут быть сопоставлены с Kotlin свойствами и , вызванными с синтаксисом свойства .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...