如果在Kotlin中尝试失败,该怎么办?

时间:2018-09-25 15:27:38

标签: java android android-studio kotlin

我是Kotlin的新手,以前主要编程Java。 问题是我有这个问题:

private fun createUrl(stringUrl: String): URL? {
    try {
        return URL(stringUrl)
    } catch (e: MalformedURLException) {
        return null
    }
}

那只是我在Java中惯用的样式。我只想在下一个方法中检查URL是否为null,但是Kotlin等效项是什么?我会在科特林返回什么?

问候

1 个答案:

答案 0 :(得分:2)

您已经在Kotlin中写过这篇文章,因此不能完全确定您的整个问题。 但是,返回URL吗?完美。

那你就可以做

mWebURL.set(createUrl(myString))

  mWebURL.set(createUrl(myString)?: "alternativeURL")

如果您有一个可以接受null的可观察项。

或者,如果您需要采取措施,只需执行

createUrl(myString)?.nextAction() //only occurs if not null

或者您可以使用

createURL(myString).let{
    //will happen if not null
} 

或者当然很简单

if(createUrl(myString) == null){
    //will happen if not null
}