Kotlin 中的方法 return & Java

Method return in Kotlin & Java

我正在学习 Kotlin。我有一个奇怪的情况。

我在java中有方法:

@Override
public NavDestination navigate(@NonNull Destination destination,
                               @Nullable Bundle args,
                               @Nullable NavOptions navOptions,
                               @Nullable Extras navigatorExtras) {

    ....
    return navDestination ;
}

和 Kotlin 中的代码

override fun navigate(destination: Destination, 
                      args: Bundle?, 
                      navOptions: NavOptions?, 
                      navigatorExtras: Extras?) {
       ....
    }

我的问题是:为什么 Kotlin 中的方法没有 return 任何东西? 当我们寻找文档时 https://developer.android.com/reference/androidx/navigation/Navigator.html#navigate(D,%20android.os.Bundle,%20androidx.navigation.NavOptions,%20androidx.navigation.Navigator.Extras)

你可以看到这个方法return有点东西。

感谢回复。

link 到您提到 link 的文档以发布 1.0.0 库。但是你用的版本1.0.0-alpha06alpha06

中的方法签名发生了变化
public abstract void navigate(@NonNull D destination, @Nullable Bundle args, @Nullable NavOptions navOptions, @Nullable Extras navigatorExtras);

1.0.0稳定:

public abstract NavDestination navigate(@NonNull D destination, @Nullable Bundle args, @Nullable NavOptions navOptions, @Nullable Extras navigatorExtras);

如果您更改 build.gradle 以下依赖项

implementation "android.arch.navigation:navigation-fragment-ktx:1.0.0"
implementation "android.arch.navigation:navigation-ui-ktx:1.0.0"

由于缺少 return 语句,您将收到编译器错误。